14

Jenkins から QUnit (javascript) 単体テストを実行することはできますか? 私のビルド スクリプトは Apache Ant です。Jenkins はこれを別のビルド ステップとして実行しますか、それとも Ant ビルド スクリプトの構成に何かを追加する必要がありますか?

4

4 に答える 4

18

だから、私はついにこれを理解することができました。

これが私のエンドツーエンドの実装です:

  1. PhantomJS をインストールします ( http://phantomjs.org/ ) - これを build/tools フォルダーにインストールしました

  2. PhantomJS QUnit Runner スクリプト ( https://gist.github.com/1588423 ) をインストールします。これも build/tools フォルダーにインストールされます。

  3. 次のターゲットを build.xml ファイルに追加しました。

    <target name="qunit" description="runs QUnit tests using PhantomJS">
      <!-- QUnit Javascript Unit Tests -->
      <echo message="Executing QUnit Javascript Unit Tests..."/>
      <apply executable="path-to-your-phantomjs-bin-folder/phantomjs" >
        <arg value="-path-to-your-build-tools/qunit-runner.js" />
        <arg line="--qunit path-to-your-qunit-folder/qunit.js --tests path-to-your-test-folder --juni path-where-you-want-to-write-the-JUnit-style-output/qunit-results.xml" />
        <fileset dir="${basedir}/${dir.test}" includes="tests.js" />
        <srcfile/>
      </apply>
    </target>
  1. Jenkins プロジェクトの構成の下で、"minify qunit" を使用して Ant を呼び出します。

  2. Jenkins に JUnit スタイルの出力 XML ファイルを指定します。

そして、ワークフローは次のとおりです。

  1. 私のレポに変更をチェック
  2. Jenkins は GitHub に変更がないかポーリングします
  3. 変更がある場合、Jenkins はプルダウンします
  4. Ant が呼び出され、ビルドが実行されてから、単体テストが実行されます
  5. テスト結果は JUnit のような XML 形式で公開されます
  6. Jenkins はこの出力ファイルを分析します。失敗したテストがない場合、ビルドは「成功」としてマークされます。いずれかのテストが失敗した場合、ビルドは「不安定」とマークされます
  7. Jenkins が Web の変更をデプロイします
  8. ジェンキンスはワークエリアをクリーンアップします

PS: 現時点では、JUnit タイプの XML 出力ファイルを手動で削除する必要があります。これは後で修正します。

PS: カスタマイズされた qunit.js をダウンロードします ( https://gist.github.com/2488794 )

于 2012-05-03T11:21:21.740 に答える
4

これ専用のAntタスクを作成しました

https://github.com/philmander/ant-jstestrunner

于 2012-11-22T14:48:23.427 に答える
1

セットアップが正しく理解できれば、Ant ビルド ステップを実行してbuild.xml、トップレベル ターゲットと-Dパラメータ (存在する場合) の場所を指定できます。これは役立つかもしれません。

于 2012-04-23T13:46:28.150 に答える