Я новичок в тестировании Spring Boot и пытаюсь выполнить тестирование и определение конечной точки. Следуя инструкциям, я сделал это:
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = SpringMiddlewareApplication.class)
@ComponentScan("com.springmiddleware")
@SpringBootTest
public class SpringMiddlewareApplicationTests {
private MockMvc mvc;
@Test
public void returnsString() {
try {
this.mvc.perform(get("/home")).andExpect(status().isOk())
.andExpect(content().string(containsString("You are in the home page")));
} catch (Exception e) {
e.printStackTrace();
}
}
Если я запускаю тест, он проходит, но в консоли отображается следующая ошибка:
java.lang.NullPointerException
at com.example.demo.SpringMiddlewareApplicationTests.returnsString
Класс RestController имеет следующий вид:
@RestController
public class FirstController {
/**
* Welcome page
*
* @return String
*/
@GetMapping("/home")
public String homePage() {
return "You are in the home page";
}
Что вызывает ошибку?
Также, даже если этот тест пройден, под управлением Jacoco у меня нет покрытия для метода «homePage». Как мне этого добиться?