运行通过Eclipse的JUnit测试时,Maven的万无一失参数(Maven surefire a

2019-06-28 07:06发布

神火 - - 日食 - JUnit的Maven的新手问题

我已经配置在我的项目的POM文件Maven的万无一失,插件通过一些额外的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运行这个项目作为运行AS-> JUnit测试,但类路径设置是否正确,在argLine指定的其他参数不包括在调用的测试案例。 我得去下相关参数手动键Debug Configurations 。 我不太明白的JUnit是如何知道它需要把测试范围的罐子在classpath并以某种方式意味着,在Eclipse的JUnit工具通过M2E知道的Maven的? 如果是这样,我们怎么可以把它也读argLine。 我知道这听起来很具体 - 但如何在其他类似情况的管理?

提前致谢!

Answer 1:

Eclipse的JUnit的启动(选择Run As -> JUnit Test )是一个独立的测试运行有其自身的预定义的构建和运行的生命周期,并没有任何与Maven,也不会神奇地拿起你的POM,并在神火阅读配置和使用它们来驱动试运行。

如果你的项目导入为现有的Maven项目,使用Maven(选择Run as -> Maven test )启动您的JUnit测试,这将拾取并使用万无一失配置。 这是因为运行完全相同mvn test由命令行,它只能输出运行日志的控制台,您将无法使用漂亮的红色与绿色的JUnit UI窗口。

希望这是有意义的。



文章来源: Maven surefire arguments when running JUnit test via eclipse