Maven中的单元测试需要访问src / main / webapp目录
我正在尝试对在Maven / Eclipse中开发的Web应用程序进行单元测试。这是一个Spring MVC
Web应用程序,我需要一些单元测试来测试我的模型控制器。
为此,我需要使用webapp config .xml文件注入控制器,但是,我的所有配置(以及配置引用的其他关联文件)都位于src / main /
webapp目录中(按照Maven约定)-这里有很多文件需要在测试中引用,但是在运行测试时它们不可用,因为它们不在类路径中(Maven似乎只添加了src /
main / java,src / test / Java,src / main / resources,src / test /
resources到类路径,但不是src / main / webapps)
我不想仅出于测试目的就将整个Web应用程序复制到我的src / test / resources文件夹中-还有其他方法可以访问它们吗?
我可以通过更改Eclipse“运行配置”以在类路径中包括此文件夹来解决此问题,但是从命令行运行测试时,该方法不起作用吗?
有人遇到过这种情况么?有已知的解决方案吗?
谢谢!
回答:
通常,您应该使用模拟(例如EasyMock或jMock)来处理控制器的单元测试。单元测试应该与系统的其余部分隔离地测试组件。在Spring
3中,您可以将Controllers定义为带有注释的POJO,然后简单地测试Controllers,而无需Spring的任何交互。
如果您希望进行更多的集成级测试,则可以将配置文件的公共部分放在src / main / resources中,以便可以在类路径中访问它们。然后在src /
test /
resources中使用特定于测试的配置进行测试。该文件可以将这些文件与您需要的任何文件一起导入,或者您可以使用@ContextConfiguration注释测试用例,以指定组合上下文所需的多个文件。
有关具体示例,请参阅有关集成测试Spring
MVC的博客文章。Spring手册的 “
测试”一章还对Spring中的集成测试进行了全面介绍。
以上是 Maven中的单元测试需要访问src / main / webapp目录 的全部内容, 来源链接: utcz.com/qa/398563.html