Как написать тестовый класс для DomainArgumentResolver в Springboot? - PullRequest
0 голосов
/ 27 мая 2020

Как написать тестовый класс для DomainArgumentResolver в springboot?

Ниже представлен класс DomainArgumentResolver, для которого я хочу написать тестовый пример. Я хочу протестировать метод resolveArguement.

public class DomainArgumentResolver extends SortHandlerMethodArgumentResolver {
    PageableResponseInfo pageableResponseInfo;

    @Override
    public Sort resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelViewContainer, NativeWebRequest nativeWebRequest, WebDataBinderFactory webDataBinderFactory) {
        Sort sort = sortHandlerMethodArgumentResolver.resolveArgument(methodParameter, modelViewContainer, nativeWebRequest, webDataBinderFactory);
        // ...
        if (orders.size() <= paramSize) { 
            pageableResponseInfo.setInvalidSortParam(order.getProperty() + " is not a valid sort parameter");
        }
        // ...  
        return sort;
    } 
}

Ниже приведен класс контроллера, в котором вышеупомянутый класс вызывается при вызове Pageable в параметре. Нужно ли мне писать тестовый пример для контроллера или класса DomainResolver?

@RestController
public class JsonDbController {
    @GetMapping("/all")
    public ResponseEntity<ApiResponse> getAllBooks(Pageable pageable) {
        List<Book> bookList;
        ApiResponse response;
        try {
            bookList = bookService.findAllBooks(pageable);
            response = ApiResponse.ofSuccess(bookList, "All books fetched successfully");
        } 
        catch (Exception e) {
            response = ApiResponse.ofFailure("Failed to fetch books. Please try again");
        }
        return new ResponseEntity<>(response, org.springframework.http.HttpStatus.valueOf(response.getCode()));
    }
}

Пожалуйста, дайте мне знать, если требуется какая-либо другая информация.

...