【问题标题】:Jenkins jobs says build success but scripts in testng.xml are not executingJenkins 作业说构建成功,但 testng.xml 中的脚本没有执行
【发布时间】:2018-04-10 13:00:45
【问题描述】:

我创建了一个示例 maven 项目,并且我有一个包含以下代码的类

package Basics;    
import org.testng.annotations.Test;  

public class Second {

    @Test
    public void jenkinstest()
    {
        System.out.println("Jenkins test sample");
    }
}

下面是testng.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="Basics.Second"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

我在 Jenkins 中创建了一个 maven 项目,并在 Root pom 字段中提供了上面的项目 pom.xml 路径,然后当我点击“BuildNow”时,Jenkins 作业说构建成功但 testng.xml 中的脚本没有执行

下面是 Jenkins 的输出

Started by user anonymous
Building in workspace C:\Users\manchukondaanil_k\.jenkins\workspace\JenkinsRun
Parsing POMs
[Guru99] $ "C:\Program Files\Java\jdk1.8.0_73/bin/java" -cp C:\Users\manchukondaanil_k\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven31-agent-1.5.jar;D:\Selenium_Softwares\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar;D:\Selenium_Softwares\apache-maven-3.2.5/conf/logging jenkins.maven3.agent.Maven31Main D:\Selenium_Softwares\apache-maven-3.2.5 C:\Users\manchukondaanil_k\.jenkins\war\WEB-INF\lib\remoting-2.56.jar C:\Users\manchukondaanil_k\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven31-interceptor-1.5.jar C:\Users\manchukondaanil_k\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.5.jar 52811
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f D:\SeleniumProjects\Guru99Project\Guru99\pom.xml clean install
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Guru99 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ Guru99 ---
[INFO] Deleting D:\SeleniumProjects\Guru99Project\Guru99\target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Guru99 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\SeleniumProjects\Guru99Project\Guru99\src\main\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Guru99 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to D:\SeleniumProjects\Guru99Project\Guru99\target\classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ Guru99 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\SeleniumProjects\Guru99Project\Guru99\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ Guru99 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.4.3:test (default-test) @ Guru99 ---
[INFO] No tests to run.
[JENKINS] Recording test results
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ Guru99 ---
[INFO] Building jar: D:\SeleniumProjects\Guru99Project\Guru99\target\Guru99-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ Guru99 ---
[INFO] Installing D:\SeleniumProjects\Guru99Project\Guru99\target\Guru99-0.0.1-SNAPSHOT.jar to C:\Users\manchukondaanil_k\.m2\repository\Guru99\Guru99\0.0.1-SNAPSHOT\Guru99-0.0.1-SNAPSHOT.jar
[INFO] Installing D:\SeleniumProjects\Guru99Project\Guru99\pom.xml to C:\Users\manchukondaanil_k\.m2\repository\Guru99\Guru99\0.0.1-SNAPSHOT\Guru99-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.957 s
[INFO] Finished at: 2018-03-28T15:54:07+05:30
[INFO] Final Memory: 24M/181M
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving D:\SeleniumProjects\Guru99Project\Guru99\pom.xml to Guru99/Guru99/0.0.1-SNAPSHOT/Guru99-0.0.1-SNAPSHOT.pom
[JENKINS] Archiving D:\SeleniumProjects\Guru99Project\Guru99\target\Guru99-0.0.1-SNAPSHOT.jar to Guru99/Guru99/0.0.1-SNAPSHOT/Guru99-0.0.1-SNAPSHOT.jar
channel stopped
Finished: SUCCESS

【问题讨论】:

  • 您应该根据约定命名您的测试,例如XYZTest.java,并将它们放在正确的位置src/test/java...
  • 是的,我的类名是 Second.java,我在 src/main/java 中有这段代码,当我直接从 eclipse 运行 testng.xml 时,我可以看到结果。那么如果 test 出现在 src/main/java 而不是 src/test/java 会有区别吗?
  • 如果这是一个测试类,它必须在 src/test/java 中,你应该相应地命名它,是的,它会有所不同,因为测试将被执行 src/main/java 中的代码不会...但是会运行您的测试,因此您必须将它们放入 src/test/java
  • 我在 src/test/java 中创建了一个新类并相应地修改了 testng.xml 然后当我这次从 Jenkins 运行它时,我看到以下消息没有要运行的测试。结果:测试运行:0,失败:0,错误:0,跳过:0
  • 请在 Gitbub 上做一个测试项目..显示有问题的行为...

标签: maven jenkins


【解决方案1】:

您需要在 pom.xml 的 surefire 部分中指定您的 testng.xml,这是需要触发的 testng 套件。仅仅制作 testng.xml 并没有帮助。如果您不想使用 xml,那么您需要执行 @khmarbaise 所指的操作 - 文件的命名约定。

【讨论】:

    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多