JavaScript + Mocha のプロジェクトでテスト結果をCircle CIで取り扱いたい場合、
mocha-junit-reporter package を使います。
※この情報は個人メモ的な内容であり、既出情報です。
サンプルコード
FizzBuzzのコードで検証します
テスト対象のコード
module.exports = { calc: function(number) { if (number % 15 == 0) { return "FizzBuzz"; } else if(number % 5 == 0) { return "Buzz"; } else if (number % 3 == 0) { return "Fizz"; } else { return number.toString(); } } };
テストコード
var assert = require("assert"); var fizzbuzz = require("../src/fizzbuzz.js"); describe("fizzbuzz", function() { it("FizzBuzz", function() { assert.equal("FizzBuzz", fizzbuzz.calc(15)); }); it("Buzz", function() { assert.equal("Buzz", fizzbuzz.calc(5)); }); it("Fizz", function() { assert.equal("Fizz", fizzbuzz.calc(3)); }); it("other", function() { assert.equal("1", fizzbuzz.calc(1)); }); });
設定
circle.yml の設定
test: override: - mocha test --reporter mocha-junit-reporter: environment: MOCHA_FILE: $CIRCLE_TEST_REPORTS/junit/test-results.xml
テストレポート未設定
mocha-junit-reporter を追加していない場合は下記のような表示になります。
テスト成功時
mocha-junit-reporter を追加してから実行してテストが成功した場合の表示です。
テスト失敗時
mocha-junit-reporter を追加してから実行してテストが失敗した場合の表示です。