使用命令行如何在war文件中运行junit test

时间:2015-06-11 18:13:56

标签: java maven tomcat junit junit4

使用maven我们创建一个war文件,我们需要在tomcat(应用程序服务器)中针对不同的环境(DEV / QA / UAT)部署此war。 我们需要在部署之前为每个环境运行JUNIT测试。 我们写了将近60个junit测试,需要通过 是否可以对war文件运行junit测试?
如果是,如何运行所有junit测试坐在war文件中

1 个答案:

答案 0 :(得分:1)

WAR文件是不应包含任何单元测试的部署工件。正如@Gerold Broser正确指出的那样,如果你把它们放到“src / test / java”中,Maven会为你排除单元测试。不要试图将它们放入“src / main / java”。

  

我们写了将近60个junit测试需要通过   是否可以对war文件运行junit测试?

如果它们是真正的单元测试,则不需要针对部署的war服务执行它们。他们正在测试一小部分功能,通常在test phase of maven lifecycle.

期间执行

如果测试正在针对部署的服务器发出请求,那么在那个阶段它们不再是单元测试,而应该放在单独的测试项目中。

运行测试的正确位置始终是Continuous Integration服务器,因此无论如何都要确保自动执行!没有CI服务器的测试是浪费时间。

顺便说一句 有一个maven-tomcat7-plugin来启动tomcat并在interation-test phase of Maven lifecycle期间部署它,但是这个maven插件似乎不再维护了,并且不适用于Servlet 3.0 Java配置和Tomcat 8.所以我不喜欢推荐那条路。