如何从JUnit测试中调用spring注释控制器,以便Spring能够使用绑定和所有内容,但不会发出http请求(只是模拟请求对象)?它必须包括来自控制器的整个shebang,以及JPA和数据库等。我们也在使用EJB,所以也许bean可以为我做这个吗?
原因在于,我希望有一些自动测试来测试特定控制器调用的性能,但没有客户端和网络流量。
谢谢
答案 0 :(得分:4)
Spring引用中有一节关于Unit-testing Spring MVC。
以下是相关摘录:
单元测试Spring MVC控制器
要测试Spring MVC控制器,请使用ModelAndViewAssert
结合MockHttpServletRequest
,MockHttpSession
,等等 org.springframework.mock.web包。
答案 1 :(得分:0)
您可以为单元测试指定特定于测试的弹簧上下文,如下所示:
@ContextConfiguration(locations = "classpath:spring/ITestAssembly.xml")
然后,您可以使用此上下文使用模拟或嵌入数据源而不是真实数据库。