У меня есть контроллер Spring, который выглядит так:
@RestController
@RequestMapping("/foo")
public class FooController {
@Autowired
private NamedParameterJdbcTemplate template;
@GetMapping("/{name}")
public List<Foo> byName(@PathVariable String name) {
Map<String, String> params = new HashMap<>();
params.put("name", name);
List<Foo> result = template.query("SELECT * FROM FOOS WHERE FOO_NM = :name", params, new FooRowMapper());
if (result.size() == 0) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("foo %s not found", name));
}
return result;
}
}
Однако я не уверен, как это проверить. Я могу выполнить базовый тест c «Spring может настроить его»:
@SpringBootTest
public class FooControllerTest {
@Autowired
private FooController controller;
@Test
public void canCreate() {
Assertions.assertNotNull(controller);
}
}
Но я не уверен, как правильно проверить, например, метод byName
. Надо что-то издеваться? Могу ли я просто протестировать его как простой метод Java (вызвать его с любыми параметрами и подтвердить результат)?