gpt4 book ai didi

java - maven运行junit测试

转载 作者:行者123 更新时间:2023-12-01 23:37:58 25 4
gpt4 key购买 nike

我在使用 Maven 项目编译和运行 JUnit 测试时遇到问题。

在 pom.xml 中,我添加了这些行来配置 surfire 插件:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<encoding>UTF-8</encoding>
<skipTests>false</skipTests>
<includes>
<include>**/*.java</include>
</includes>
</configuration>

<executions>
<execution>
<id>unit-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<includes>
<include>**/Client*.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>

测试类位于路径“src/test/java//”下。

当我运行命令mvn test时,我获得以下输出:

[INFO] Storing buildScmBranch: trunk
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 10 resources
[INFO] [cxf-codegen:wsdl2java {execution: generate-sources}]
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Not copying test resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Not compiling test sources
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [surefire:test {execution: unit-test}]
[INFO] No tests to run.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] No tests were executed! (Set -DfailIfNoTests=false to ignore this error.)

我真的不知道我错在哪里。

编辑:我按如下方式更改了 pom 配置,因为我还注意到测试类也没有编译:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
<executions>
<execution>
<id>default-testCompile</id>
<configuration>
<source>1.6</source>
<target>1.6</target>
<skip>false</skip>
<additionalClasspathElements>
<additionalClasspathElement>${basedir}/target/*.jar</additionalClasspathElement>
</additionalClasspathElements>
<directory>${basedir}/src/test/java</directory>
<includes>
<include>**/*.*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>

这样maven开始考虑我的测试源并尝试编译它,即使它无法编译它们,因为我已经用cxf-codegen-plugin生成了代码,那个测试编译似乎看不到它。

最佳答案

该错误意味着没有测试用例匹配 **/Client*.java

确保图案正确。另外,mvn -X(启用调试输出)可能会给您一些关于 Maven 无法找到任何测试的原因的提示。

关于java - maven运行junit测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354897/

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