关于 Maven 的新手问题 - Surefire - Eclipse - JUnit
我已经在项目的 pom 文件中配置了 maven-surefire-plugin 以传递一些额外的 JVM 参数,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<argLine>-d64 -Xms128m -Xmx4096m -XX:PermSize=512m -Duser.timezone=UTC -XX:-UseSplitVerifier</argLine>
</configuration>
</plugin>
当我从 Eclipse 作为 Run As->JUnit Test 运行该项目的测试用例时,尽管类路径设置正确,但 argLine 中指定的附加参数不包含在调用中。我必须去手动输入相关参数下的参数Debug Configurations
。我不太明白 JUnit 如何知道它需要将测试范围的 jar 放在类路径上,并且在某种程度上意味着 Eclipse 中的 JUnit 工具通过 M2E 知道 Maven?如果是这样,我们怎样才能让它也读取argLine。我知道这听起来很具体 - 但其他人在类似情况下如何应对?
提前致谢!
Eclipse JUnit 启动器(选择Run As -> JUnit Test
)是一个独立的测试运行器,它有自己预定义的构建和运行生命周期,与Maven无关,它不会神奇地拿起你的pom并读取surefire配置并使用它们来驱动测试运行。
如果您的项目作为现有 Maven 项目导入,请使用 Maven(选择Run as -> Maven test
)启动 JUnit 测试,该测试将选择并使用 Surefire 配置。这与运行完全相同mvn test
从命令行,它仅在控制台中输出运行日志,您将无法使用漂亮的红色和绿色 JUnit UI 窗口。
希望这是有道理的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)