March 14, 2013

QUnit + JUnit reporter for QUnitでxmlレポートを出力してみた

以下の続きです。

QUnitでJavaScriptのユニットテストをブラウザからしてみる
http://madroom-project.blogspot.jp/2013/03/qunitjavascript.html

QUnit + PhantomJSでコマンドからユニットテストを実行してみた
http://madroom-project.blogspot.jp/2013/03/qunit-phantomjs.html

--

今回は、JUnit reporter for QUnitを用いて、XML形式のレポートを出力してみました。

JUnit reporter for QUnit
https://github.com/jquery/qunit-reporter-junit

ダウンロードして解凍、QUnitのaddons/qunit-reporter-junitとして配置してみます。
test/index.htmlでqunit.jsを読み込んでいる直下に、以下を追記します。
<script src="../addons/qunit-reporter-junit/qunit-reporter-junit.js"></script>
<script>
    QUnit.jUnitReport = function(report) {
        console.log(report.xml);
    };
</script>
試しにブラウザからアクセスしてみるとスクリプトエラーが出たので、とりあえず、qunit-reporter-junit.jsに以下の修正を行いました。(適切な修正内容かはわかりません。。。)
76c76
<         if (!data.result) {
---
>         if (!data.result && currentTest != null) {
84a85,88
>         if (currentTest == null) {
>             return;
>         }
>
93a98,101
>         if (currentModule == null) {
>             return;
>         }
>
再度ブラウザからアクセスしてみると、スクリプトエラーが消えて、コンソールにxmlが出力されました。
phantomjsコマンドから実行しても、xmlが出力されました。(最終行の"Took ..."は力技でカットするしか無いのだろうか。)

これでJenkinsでCI出来るかなー。(Travis CIでの実行も確認しなくては。)

関連:
Add-ons | QUnit
http://qunitjs.com/addons/

No comments:

Post a Comment