Jenkins から QUnit (javascript) 単体テストを実行することはできますか? 私のビルド スクリプトは Apache Ant です。Jenkins はこれを別のビルド ステップとして実行しますか、それとも Ant ビルド スクリプトの構成に何かを追加する必要がありますか?
4 に答える
だから、私はついにこれを理解することができました。
これが私のエンドツーエンドの実装です:
PhantomJS をインストールします ( http://phantomjs.org/ ) - これを build/tools フォルダーにインストールしました
PhantomJS QUnit Runner スクリプト ( https://gist.github.com/1588423 ) をインストールします。これも build/tools フォルダーにインストールされます。
次のターゲットを 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>
Jenkins プロジェクトの構成の下で、"minify qunit" を使用して Ant を呼び出します。
Jenkins に JUnit スタイルの出力 XML ファイルを指定します。
そして、ワークフローは次のとおりです。
- 私のレポに変更をチェック
- Jenkins は GitHub に変更がないかポーリングします
- 変更がある場合、Jenkins はプルダウンします
- Ant が呼び出され、ビルドが実行されてから、単体テストが実行されます
- テスト結果は JUnit のような XML 形式で公開されます
- Jenkins はこの出力ファイルを分析します。失敗したテストがない場合、ビルドは「成功」としてマークされます。いずれかのテストが失敗した場合、ビルドは「不安定」とマークされます
- Jenkins が Web の変更をデプロイします
- ジェンキンスはワークエリアをクリーンアップします
PS: 現時点では、JUnit タイプの XML 出力ファイルを手動で削除する必要があります。これは後で修正します。
PS: カスタマイズされた qunit.js をダウンロードします ( https://gist.github.com/2488794 )
これ専用のAntタスクを作成しました
セットアップが正しく理解できれば、Ant ビルド ステップを実行してbuild.xml
、トップレベル ターゲットと-D
パラメータ (存在する場合) の場所を指定できます。これは役立つかもしれません。