我正在尝试为内部使用webapplication上下文的方法运行Junit测试用例。但是我的问题是我无法在Junit中创建或模拟WebApplicationContext。构建并运行应用程序时,实际代码执行正常并创建了Web应用程序上下文,但在Junit中它无法创建相同的内容。
我的测试用例有以下标签
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationcontext.xml")
我尝试测试的方法有以下代码
WebApplicationContext context =
ContextLoader.getCurrentWebApplicationContext();
context.getBean("checkStatus", checkStatus.class);
此时我得到空指针异常,因为它无法从ContextLooader获取webapplication上下文,我可以模拟一些如何使它不给空指针或者一些如何获取实际的webapplication上下文以便我可以使用它
我是否应该在应用程序上下文xml文件中添加一些WebApplicationContext加载代码。在我的web.xml文件中有一个关于ContextLoaderListener的条目我是否应该在我的Junit测试用例中从web.xml读取配置?
请提供一些建议。
答案 0 :(得分:0)
您的问题很多,包括您的环境,版本号的详细信息,尤其是您尝试解决的确切问题。
我们使用https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html#boot-features-testing-spring-boot-applications-testing-with-running-server中的说明完美地运行junit和spring boot。
但由于我们没有关于您的用例的信息,我无法判断这是否适合您。