0
我想爲我的春季啓動應用程序添加單元測試。它不起作用,並且會拋出404錯誤。我正在使用1.2.1版本的spring引導並且具有用於spring-boot-starter-test的依賴關係。請讓我知道如果我錯過了一些東西。春季啓動應用程序沒有任何問題。春季啓動junit不工作
這裏是我的代碼,
public class Application{
public static void main(String[] args) {//NOSONAR
SpringApplication.run(Application.class, args);
}
@Bean
public ServletRegistrationBean displayListServletRegistrationBean(){
return new ServletRegistrationBean(new DisplayServlet(),"/display");
}
@Bean
public ServletRegistrationBean manageServletRegistrationBean(){
return new ServletRegistrationBean(new ManageServlet(),"/manage");
}
}
我的JUnit測試案例代碼,
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:application-test-context.xml"})
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
@WebIntegrationTest({"server.port=0", "management.port=0"})
@ActiveProfiles("scratch")
public class ApplicationTest {
@Autowired
private WebApplicationContext context;
private MockMvc mvc;
@Before
public void setUp() {
this.mvc = MockMvcBuilders.webAppContextSetup(this.context).build();
}
@Test
public void testHome() throws Exception {
this.mvc.perform(get("/display")).andExpect(status().isOk());
//this.mvc.perform(get("/")).andExpect(status().isOk());
}
}
控制檯有
org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/display] in DispatcherServlet with name ''
和JUnit結果具有
java.lang.AssertionError: Status expected:<200> but was:<404> at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60)
感謝您的回覆。我如何測試spring boot main()方法? – skumar
這可能更好地解決在一個單獨的問題 –