eclipse - 通过 Eclipse 运行 JUnit 测试时的 Maven surefire 参数

标签 eclipse maven junit m2eclipse maven-surefire-plugin

关于 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 如何知道它需要将测试范围的 jars 放在类路径上,并且在某种程度上意味着 Eclipse 中的 JUnit 工具通过 M2E 知道 Maven?如果是这样,我们怎样才能让它也读取 argLine。我知道这听起来很具体 - 但其他人如何在类似情况下进行管理?

提前致谢!

最佳答案

Eclipse JUnit Launcher(选择Run As -> JUnit Test)是一个独立的测试运行器,它有自己预定义的构建和运行生命周期,与Maven无关,它不会神奇地拿起你的pom读入万无一失的配置并使用他们来驱动测试运行。

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

希望这是有道理的。

关于eclipse - 通过 Eclipse 运行 JUnit 测试时的 Maven surefire 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12392926/

相关文章:

java - Ant-task 不适用于 java 9

java - 我的第一个应用程序教程 "Unfortunately My First App has stopped."

eclipse - 如何通过 JSP 中的按钮单击来调用函数

java - 在maven eclipse项目中找不到spring框架的标签库描述符

java - 测试写入 Java OutputStream 的内容

java - 我得到了 javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated on my JUnit test

eclipse - 在 Eclipse (Helios) 中设置项目 Pydev PYTHONPATH 的最有效方法?

java - 来自 java 命令行的 Maven 依赖插件的类路径文件

maven - 如何为插件的不同执行提供不同的属性集?

java - 找不到导入 junit jupiter api