为什么mvn clean install和eclipse在运行的junit测试中会有所不同?

伊夫·尼古拉斯(Yves Nicolas)

当我在Eclipse中运行测试时,以及通过maven surefire插入mvn clean install从终端执行的测试时,我在Junit测试之间存在差异

在一个项目中,当我右键单击src/test/javaEclipse时,Junit告诉我有137个测试正在运行。这样做mvn clean install只给了我119。在这一项上,似乎测试名称中的大小写可能是一种可能的解释,有些测试不是以小写字母开头的,这使surefire忽略了它们,但是还有其他可能的解释吗?

在第二个项目中,我还有一个更烦人的问题:整个测试包都不由运行mvn clean install我在下面有2个软件包src/test/javacom.projectcom.project.services下的测试类com.project通过surefire正确运行,而不是下的测试类com.project.services

我能看到的唯一特性是下面的类com.project.services具有多个继承级别:

public class ActualTestsCasesA extends GenericTestSituationA {}

public class GenericTestSituationA extends ServicesAbstractTests {}

public abstract ServicesAbstractTests extends ProjectAbstractTests {}

ActualTestsCasesAGenericTestSituationA并且ServicesAbstractTests都在com.project.services测试包中。ProjectAbstractTests保留在另一个Maven项目中。

这是我pom.wml中对surefire插件的依赖关系:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <forkMode>always</forkMode>
                <encoding>${project.build.sourceEncoding}</encoding>
                <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
            </configuration>

        </plugin>
亚历山大

您已经发现,Surefire在运行测试时具有特定的命名约定。但是,您可以配置其他naminig约定以匹配您自己项目的测试文件名。这对于可能未遵循Maven标准的旧式测试或不愿重构的大量测试类很有用。

请查看Surefire文档以获取详细信息:http : //maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

在您的情况下,您可以将Surefire配置为包括带有其他模式的测试类,如下所示:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <forkMode>always</forkMode>
                <encoding>${project.build.sourceEncoding}</encoding>
                <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
            <includes>
                    <include>**/*Tests*.*</include>
                    <include>**/*TestSituation*.*</include>
            </includes>
            </configuration>

        </plugin>

但是,Eclipse不受此类限制的约束。相反,它依靠junit4库的存在来运行测试,并允许jUnit自身确定某个类是否被视为可运行的测试。有关更多信息,请参阅Eclipse Mars文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

'mvn clean install':为什么'clean'在'install'之后运行?

来自分类Dev

“ mvn clean install”和“ mvn eclipse:clean eclipse:eclipse”命令有什么区别?

来自分类Dev

为什么电子邮件布局在Yahoo和Gmail中会有所不同

来自分类Dev

为什么“用户”和“系统”时间在多次执行中会有所不同?

来自分类Dev

为什么电子邮件布局在Yahoo和Gmail中会有所不同

来自分类Dev

“ mvn clean install”运行测试,但不运行“ mvn clean site”

来自分类Dev

为什么承诺在循环中会有所不同?

来自分类Dev

为什么在运行`systemctl start'时退出状态会有所不同?systemctl is-active和systemctl is-active是分别吗?

来自分类Dev

为什么使用API和Jmeter记录时测试和数据交互速度会有所不同

来自分类Dev

为什么参数包扩展在不同的C ++编译器中会有所不同?

来自分类Dev

为什么相同的代码在不同的集合合成方法中会有所不同?

来自分类Dev

使用mvn clean -e install

来自分类Dev

为什么分别编译和链接功能时性能会有所不同?

来自分类Dev

为什么C和C#之间的双精度会有所不同?

来自分类Dev

为什么for循环和forEach会有所不同?

来自分类Dev

“mvn clean”与“mvn clean install”(当插件执行附加到“clean”时)

来自分类Dev

为什么AWS Lambda计费对于不同的运行时会有所不同?

来自分类Dev

在Laravel 5中,为什么在phpunit测试期间调用Request :: root()会有所不同?

来自分类Dev

为什么输出会有所不同?为什么数据可以自行更改?

来自分类Dev

为什么此代码在JSBin中重复运行时会有所不同?

来自分类Dev

为什么从jupyter笔记本运行时,龙卷风AsyncHTTPClient的行为会有所不同?

来自分类Dev

为什么空条件运算符对于==和.Equals()的行为会有所不同?

来自分类Dev

为什么Java正则表达式在Linux和Windows上的行为会有所不同?

来自分类Dev

为什么在Chrome / IE和Firefox中重新定义功能的行为会有所不同?

来自分类Dev

为什么十进制和十六进制整数文字会有所不同?

来自分类Dev

为什么使用交叉元运算符时** 2和²的行为会有所不同?

来自分类Dev

为什么在使用ICustomTypeDescriptor时TypeDescriptor.GetProperties对于类型和对象的行为会有所不同

来自分类Dev

为什么C ++中带符号和无符号字符的ascii值会有所不同?

来自分类Dev

为什么uname -m在chroot和schroot环境中的报告会有所不同?

Related 相关文章

  1. 1

    'mvn clean install':为什么'clean'在'install'之后运行?

  2. 2

    “ mvn clean install”和“ mvn eclipse:clean eclipse:eclipse”命令有什么区别?

  3. 3

    为什么电子邮件布局在Yahoo和Gmail中会有所不同

  4. 4

    为什么“用户”和“系统”时间在多次执行中会有所不同?

  5. 5

    为什么电子邮件布局在Yahoo和Gmail中会有所不同

  6. 6

    “ mvn clean install”运行测试,但不运行“ mvn clean site”

  7. 7

    为什么承诺在循环中会有所不同?

  8. 8

    为什么在运行`systemctl start'时退出状态会有所不同?systemctl is-active和systemctl is-active是分别吗?

  9. 9

    为什么使用API和Jmeter记录时测试和数据交互速度会有所不同

  10. 10

    为什么参数包扩展在不同的C ++编译器中会有所不同?

  11. 11

    为什么相同的代码在不同的集合合成方法中会有所不同?

  12. 12

    使用mvn clean -e install

  13. 13

    为什么分别编译和链接功能时性能会有所不同?

  14. 14

    为什么C和C#之间的双精度会有所不同?

  15. 15

    为什么for循环和forEach会有所不同?

  16. 16

    “mvn clean”与“mvn clean install”(当插件执行附加到“clean”时)

  17. 17

    为什么AWS Lambda计费对于不同的运行时会有所不同?

  18. 18

    在Laravel 5中,为什么在phpunit测试期间调用Request :: root()会有所不同?

  19. 19

    为什么输出会有所不同?为什么数据可以自行更改?

  20. 20

    为什么此代码在JSBin中重复运行时会有所不同?

  21. 21

    为什么从jupyter笔记本运行时,龙卷风AsyncHTTPClient的行为会有所不同?

  22. 22

    为什么空条件运算符对于==和.Equals()的行为会有所不同?

  23. 23

    为什么Java正则表达式在Linux和Windows上的行为会有所不同?

  24. 24

    为什么在Chrome / IE和Firefox中重新定义功能的行为会有所不同?

  25. 25

    为什么十进制和十六进制整数文字会有所不同?

  26. 26

    为什么使用交叉元运算符时** 2和²的行为会有所不同?

  27. 27

    为什么在使用ICustomTypeDescriptor时TypeDescriptor.GetProperties对于类型和对象的行为会有所不同

  28. 28

    为什么C ++中带符号和无符号字符的ascii值会有所不同?

  29. 29

    为什么uname -m在chroot和schroot环境中的报告会有所不同?

热门标签

归档