gpt4 book ai didi

java - Maven-surefire-plugin 和 fork 模式

转载 作者:行者123 更新时间:2023-11-29 06:20:03 25 4
gpt4 key购买 nike

所以我有一些依赖于其中包含 native 方法的 jar 文件的类。我在模拟这个 jar 文件中的对象时遇到了问题...所以我找到了一个可行的解决方案。

使用 forkedmode pertest 似乎可以解决这个问题。然而,有 5 个文件受到需要在 forkedmode 中运行的影响......还有 130 个不需要 fork 的其他测试,cobertura 的构建时间和一切都非常慢,因为它为那个 pom 中的每个测试 fork 。 ..

所以我的问题是...有没有一种方法可以指定要在 fork 模式下运行哪些类并正常运行其他所有类?

最佳答案

is there a way to specify which classes you want to run in forkedmode and run everything else normally?

您可以通过指定两个 <execution> 来做到这一点具有特定元素 <configuration> : 大多数测试的默认测试(不包括那些需要 forked 的)与 forkMode设置为 once和一个用于特殊测试的特殊测试(仅包括特殊测试),其中 forkMode设置为 always .

这是一个 pom 片段,展示了如何做到这一点:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- Lock down plugin version for build reproducibility -->
<version>2.6</version>
<executions>
<execution>
<id>default-test</id><!-- here we configure the default execution -->
<configuration>
<forkMode>once</forkMode><!-- this is the default, can be omitted -->
<excludes>
<exclude>**/somepackage/*Test.java</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>special-test</id><!-- and here we configure the special execution -->
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<forkMode>always</forkMode>
<includes>
<include>**/somepackage/*Test.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>

另见

关于java - Maven-surefire-plugin 和 fork 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com