Java Jenkins未通过surefire运行TestNG测试

Java Jenkins未通过surefire运行TestNG测试,java,maven,jenkins,Java,Maven,Jenkins,使用Maven和TestNG进行本地设置,构建得很好。这个构建有点奇怪,因为为了让测试运行,首先需要一个打包的JAR。因此,实际上本地安装程序正在运行 #!/bin/bash mvn clean package -Dmaven.test.skip.exec=true mvn test 在Jenkins上运行时,清理/打包步骤与测试一样成功,但没有实际运行任何测试: [workspace] $ mvn -f some_sub_directory/pom.xml test [INFO] Scan

使用Maven和TestNG进行本地设置,构建得很好。这个构建有点奇怪,因为为了让测试运行,首先需要一个打包的JAR。因此,实际上本地安装程序正在运行

#!/bin/bash

mvn clean package -Dmaven.test.skip.exec=true
mvn test
在Jenkins上运行时,清理/打包步骤与测试一样成功,但没有实际运行任何测试:

[workspace] $ mvn -f some_sub_directory/pom.xml test
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ...-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ project ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /var/lib/jenkins/jobs/...
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ project ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ project ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ project ---
[INFO] Not compiling test sources
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ project ---
[INFO] Tests are skipped.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.222s
[INFO] Finished at: Fri Nov 22 18:34:00 UTC 2013
[INFO] Final Memory: 11M/89M
[INFO] ------------------------------------------------------------------------
Finished: SUCCESS
似乎surefire插件中的testCompile和测试目标没有找到任何测试类


pom.xml中是否需要其他配置?

测试类的默认和建议路径是{basedir}/src/test/java/。 但是您可以在pom.xml中精确地确定路径

<build>
   <testSourceDirectory>{basedir}/path/to/test/classes</testSourceDirectory>
    ...
</build>

{basedir}/path/to/test/classes
...

您需要指定需要运行的测试。我相信,它会从test*开始寻找测试。如果您使用的是testng xml,则需要进行设置。查看有关如何以不同方式指定测试的示例。

我们确实修改了源文件和测试文件的路径,但这些文件是在pom.xml中指定的,正如我提到的,在本地工作良好。