10

Jenkins から (含まれている Java プロジェクトで) TestNG テストを実行しようとしていますが、運がありません。

Jenkins 用の TestNG プラグイン ( https://wiki.jenkins-ci.org/display/JENKINS/testng-plugin ) は、TestNG テストの結果のみを公開しているように見えますが、実際にはテスト クラスを実行していません... または私が間違っている?

いずれにしても、Jenkins を使用して TestNG プロジェクトで TestNG テストを実際に実行するにはどうすればよいですか? たとえば、コマンド ライン ステートメントまたはバッチ ファイル (Windows Server 2008 上) を使用する必要がありますか?

どんな助けでも大歓迎です。

プロジェクトでTestNGテストを実行するために、Jenkins でビルド後のコマンド ラインを入力しようとしましたが、TestNG のクラス パスが見つからないことに苦労しました。コマンド ラインからの TestNG の実行に関する以前の質問を投稿しましたが、うまくいきませんでした。そのため、そのルートをあきらめました。

コマンドラインから TestNG を実行する方法

4

3 に答える 3

2

gradle を使用して、Jenkins から testNG テストを実行しています。gradle docsを見てください。

構成 xml ファイルを使用して testNG テストを実行します。testNG docsを見てください。

カバーしなければならないことがかなりあるので、これらのソースを読むことをお勧めしますが、構成の 1 つから関連する部分をいくつか提供します。

私のbuild.gradleの関連部分

tasks.withType(Test) {

    useTestNG {
        useDefaultListeners = true
    }

    options {
        outputDirectory = file('test-report')
        listeners << 'org.uncommons.reportng.JUnitXMLReporter'
    }

    testLogging.showStandardStreams = true

    systemProperties System.getProperties()
    systemProperty "org.uncommons.reportng.escape-output", "false"
    systemProperty "org.uncommons.reportng.title", "Test Report"

    ignoreFailures = true
}


task Smoke_Test(type: Test) {
    description "SmokeTest"
    options.suites("resources/testng-smoketest.xml")      
    ignoreFailures = false
}

上記の「testng-smoketest.xml」で参照されている私のtestNG xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Smoke Tests" >
    <test name="BootCheck" parallel="false" thread-count="1">
        <classes>
            <class name="com.x.automation.y.tests.smoke.BootCheck" />
        </classes>
    </test>
</suite>    

Jenkins からは、'execute shell' ビルド ステップで gradle タスクを実行するので、便宜上 gradle ラッパーを使用します。

./gradlew clean Smoke_Test

正しいディレクトリにいることを確認してください。'Smoke_Test' は build.gradle で指定された名前です。

結果を保存するには、testNG Jenkins プラグインを使用できます。

また、HTML Publisher プラグインを使用して Jenkins で表示および保存できるテスト レポートの適切な書式設定のために、reportngを使用することもお勧めします。

最初にこれをローカル マシンの CLI から実行してみてください。Jenkins から実行しているときにデバッグしようとすると気が狂ってしまいます。

于 2016-06-02T11:00:53.307 に答える