Surefire 不会在更高版本的 Maven 3.9.6 上从测试输出目录执行测试

问题描述 投票:0回答:1

我已经将maven从3.5升级到3.9.6。到目前为止,我尚未更改 pom.xml 中的其他配置或升级了 Surefire 版本。

我的项目 pom.xml 中的 Surefire 配置如下所示:

<build>
    <sourceDirectory>src/main/someCodeFolder</soureDirectory>
    <testDirectory>src/test/someTestFolder</testDirectory>
    <testOutputDirectory>target/mytests</testDirectory>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

之前运行测试时,它们将从

lib/lib-component/target/mytests
级别执行。

自从升级到 maven 3.9.6 以来,测试失败,因为我的一些路径引用具有

../dependency/xyz
,因为它预计从
target/mytests
级别运行。

我知道我应该使用绝对路径,但在这种情况下,3.9.6 env 配置中发生了哪些变化/可能发生了变化,导致测试从库级别执行,而不是测试输出目录级别?

maven testing maven-surefire-plugin
1个回答
0
投票

仅供参考,我使用surefire 上的workingDirectory 选项解决了这个问题。

已添加

<configuration>
    <workingdDirectory>target/test-classes</workingDirectory>
</configuration> 

插件的 pom xml。

© www.soinside.com 2019 - 2024. All rights reserved.