2017-05-06 12 views
1

成功したビルドの後でも、jenkins経由でバッチファイルが実行された場合、テストケースは実行されません。 TestNG.xmlファイルを作成しました。私はジェンキンスを介してそれを実行したいので、同じバッチファイルを作成しました。私がジェンキンズからtestNG.batを実行するとき。ビルドステータスは「成功」と表示されますが、テストケースは実行されませんでした。同じtestng.xmlはEclipseの実行時に正常に動作します。続きTestNGでテストケースを実行しようとしています。

は、以下のTestNG.xml--

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite"> 
    <test name="Test"> 
    <classes> 
     <class name="pkg1.Class1"/> 
     <class name="pkg1.Class3"/> 
     <class name="pkg2.Class4"/> 
    </classes> 
    </test> <!-- Test --> 
</suite> <!-- Suite --> 

が続き

cd C:\Users\Vinay\workspace_n\$$POM 
set ProjectPath=C:\Users\Vinay\workspace_n\$$POM 
echo %ProjectPath% 
set classpath=%ProjectPath%\bin;%ProjectPath%\lib\* 
echo %classpath% 
java org.testng.TestNG %ProjectPath%\testng.xml 
pause 

はジェンキンス

10:30:18 Started by user anonymous 
10:30:18 Building in workspace C:\Users\Vinay\workspace_n\$POM 
10:30:18 [$POM] $ cmd /c call C:\Windows\TEMP\hudson7515512989309656489.bat 
10:30:18 
10:30:18 C:\Users\Vinay\workspace_n\$POM>cd C:\Users\Vinay\workspace_n\$$POM 
10:30:18 
10:30:18 C:\Users\Vinay\workspace_n\$$POM>set ProjectPath=C:\Users\Vinay\workspace_n\$$POM 
10:30:18 
10:30:18 C:\Users\Vinay\workspace_n\$$POM>echo C:\Users\Vinay\workspace_n\$$POM 
10:30:18 C:\Users\Vinay\workspace_n\$$POM 
10:30:18 
10:30:18 C:\Users\Vinay\workspace_n\$$POM>set classpath=C:\Users\Vinay\workspace_n\$$POM\bin;C:\Users\Vinay\workspace_n\$$POM\lib\* 
10:30:18 
10:30:18 C:\Users\Vinay\workspace_n\$$POM>echo C:\Users\Vinay\workspace_n\$$POM\bin;C:\Users\Vinay\workspace_n\$$POM\lib\* 
10:30:18 C:\Users\Vinay\workspace_n\$$POM\bin;C:\Users\Vinay\workspace_n\$$POM\lib\* 
10:30:18 
10:30:18 C:\Users\Vinay\workspace_n\$$POM>java org.testng.TestNG C:\Users\Vinay\workspace_n\$$POM\testng.xml 
10:30:19 [TestNG] Running: 
10:30:19 C:\Users\Vinay\workspace_n\$$POM\testng.xml 
10:30:19 
10:30:19 
10:30:19 =============================================== 
10:30:19 Suite 
10:30:19 Total tests run: 0, Failures: 0, Skips: 0 
10:30:19 =============================================== 
10:30:19 
10:30:19 
10:30:19 C:\Users\Vinay\workspace_n\$$POM>pause 
10:30:19 Press any key to continue . . . 
10:30:19 
10:30:19 C:\Users\Vinay\workspace_n\$$POM>exit 0 
10:30:20 Finished: SUCCESS 
上でビルドを実行した後に結果である--- Testng.batです

バッチファイルを以下のように更新しました。

cd C:\Users\Vinay\workspace_n\$$POM 
set ProjectPath=C:\Users\Vinay\workspace_n\$$POM 
echo %ProjectPath% 
set classpath=%ProjectPath%\bin;%ProjectPath%\lib\* 
echo %classpath% 
java org.testng.TestNG -log 10 %ProjectPath%\testng.xml 
pause 

私は以下の結果を得ています。

09:55:05 C:\Users\Vinay\workspace_n\$$POM>java org.testng.TestNG -log 10 C:\Users\Vinay\workspace_n\$$POM\testng.xml 
09:55:05 [TestRunner] Running the tests in 'Test' with parallel mode:false 
09:55:05 [RunInfo] Adding method selector: [email protected] priority: 10 
09:55:05 [TestNGClassFinder] SKIPPING CLASS class pkg1.Class3 no TestNG annotations found 
09:55:05 [TestNGClassFinder] SKIPPING CLASS class pkg2.Class4 no TestNG annotations found 
09:55:05 [TestNGClassFinder] SKIPPING CLASS class pkg1.Class1 no TestNG annotations found 
09:55:05 [TestNG] Running: 
09:55:05 C:\Users\Vinay\workspace_n\$$POM\testng.xml 
09:55:05 
09:55:05 [SuiteRunner] Created 1 TestRunners 
09:55:05 [TestRunner] Running test Test on 0 classes, included groups:[] excluded groups:[] 
09:55:05 [TestNG] RUNNING: Suite: "Test" containing "0" Tests (config: C:\Users\Vinay\workspace_n\$$POM\testng.xml) 
09:55:05 ===== Invoked methods 
09:55:05 ===== 
09:55:05 Creating C:\Users\Vinay\workspace_n\$$POM\test-output\Suite\Test.html 
09:55:05 Creating C:\Users\Vinay\workspace_n\$$POM\test-output\Suite\Test.xml 
09:55:05 
09:55:05 =============================================== 
09:55:05  Test 
09:55:05  Tests run: 0, Failures: 0, Skips: 0 
09:55:05 =============================================== 
09:55:05 

以下はクラスの1つです。

package pkg1; 

import org.testng.annotations.Test; 


public class Class1 { 

    @Test(priority=1) 
    void pkg111() { 
     System.out.println("pkg1 class1 p1"); 
    } 

    @Test(priority=4) 
    void pkg121() { 
     System.out.println("pkg1 class1 p4"); 
    } 

    @Test(priority=3) 
    void pkg131() { 
     System.out.println("pkg1 class1 p3"); 
    } 
} 
+0

より詳細なオプションで同じ出力を提供できますか? 'java org.testng.TestNG -log 10%ProjectPath%\ testng.xml' – juherr

+0

@ juherr-私は 'java org.testng.TestNG -log 10%ProjectPath%\ testng.xml'というバッチファイルをまだ更新していません。質問の結果を更新しました。私はクラスをスキップする理由を理解していないのですか? – iAutomate

+0

Log 10は問題を修正するのではなく、理解するのに役立つはずです。クラスにはTestNGアノテーションがありません(JUnitを使用したと思います)。 TestNGアノテーションで置き換えるか、JUnitテストであるTestNGに伝えてください。 – juherr

答えて

0

@juherrの手順に従って、TestNGのバージョンを6.8から6.11に更新しました。今、私はジェンキンを介してテストケースを実行することができます。

関連する問題