maven surefire插件没有接受测试

时间:2015-05-22 22:22:55

标签: java maven

我有一个简单的Maven项目,并有一个名为IntegrationTest的测试类。

当我执行:mvn surefire:test时,测试会被执行。但是,当我执行标准Maven构建时,完全忽略了相同的测试:mvn package

我错过了什么吗?

其他信息(5月24日):

我试图听从@ dragan-bozanovic的建议,但莫名其妙地,没有任何改变,我的测试不再在任何条件下调用。我很难过。我在这里提交了一个项目:https://github.com/javalite/activeweb 此模块中未调用测试:https://github.com/javalite/activeweb/tree/master/activeweb-lessc-integration-test

我尝试了JUnit 3样式,JUnit4样式,更改了类的名称,移动到不同的包 - 无济于事。当我执行mvn install时,我没有看到调用surefire插件。当我明确地称它为mvn surefire:test时,它会发出一条消息:No tests to run

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

surefire插件无法找到测试的真正原因是因为我的pom.xml文件有<packaging>pom</packaging>。一旦我将其切换到<packaging>jar</packaging>,surefire插件就会接受测试。无论如何,德拉甘 - 谢谢你推动我朝着正确的方向前进!

答案 1 :(得分:1)

根据Maven默认构建lifecycle,集成测试在包阶段之后进行。这里可能使用命名约定,因为您的测试类名称以LD R3, Negate 结尾。

如果这不是集成测试,则相应地重命名该类。如果是,那么Maven似乎表现得如上所述。

修改

也可能是使用了surefire,JUnit和JUnit样式的测试版本的错误组合。有关这方面的更多信息,请访问here