今回はテストの違う実行のしかたを紹介してみます。
テストのコードは前回のもの を利用します。
このテストを実行するときにTestRunnerを利用して実行します。
test
void runTest() {
TestRunner testRunner = createTestRunner(
[`success`,`failure`,`successCounterTest`,`failureCounterTest`]);
TestRunResult result = testRunner.run();
print(result);
}
createTestRunnerの呼び出し時に
テストケースの関数を渡します。
前回のテストの4つを渡して実行しています。
resultの出力結果は以下の通り
TEST RESULTS
run: 4
success: 2
failure: 2
error: 0
ignored: 0
time: 0s
hogehoge.abc::failure - failure (ceylon.language.AssertionException "always fail")
hogehoge.abc::failureCounterTest - failure (ceylon.test.AssertionComparisonException "assertion failed: 3 != 300")
TESTS FAILED !
TestRunResultをそのまま渡すと全ての情報をコンソールに出力出来ますが
個別に情報が取りたい場合には各メソッドを使います。
isSuccess | 成功失敗を返します。1つでも失敗しているとfalseになります |
---|---|
elapsedTime | 実行時間(ms) |
runCount | 実行個数 |
failureCount | 失敗個数 |
successCount | 成功個数 |
results | 個別の実行結果の詳細 |
詳しいAPIはこちら。
http://modules.ceylon-lang.org/repo/1/ceylon/test/1.0.0/module-doc/TestRunResult.type.html
テスト自動化のためのプラグインを作るときに使うかも!
普通にテストを書くときにはあまり使わないかも。
そんな感じで、誰かceylonで作ってみたら良いと思いますー。