今回はCeylonでのユニットテスト実行のしかたを解説しようと思います。
前回までにも使っていたカウンタのクラスをちょっとだけ使います。
"カウンタ"
class Counter(variable Integer i=0) {
if(i < 0) {
i = 0;
}
"数字を足します"
shared Integer inc(Integer add=1) {
return (i += add);
}
shared Integer nowCount =>
i;
assign nowCount =>
i = nowCount;
}
まずいつものようにモジュール追加。
import ceylon.test "1.0.0";
次はテストファイルを別に作ります。
今回は成功と失敗を色々やります。
import ceylon.test {
test, fail, assertEquals
}
test void success() {
// success
}
test void failure() {
fail("always fail");
}
test void successCounterTest() {
value counter = Counter(1);
counter.inc();
counter.inc();
assertEquals(counter.nowCount, 3);
}
test void failureCounterTest() {
value counter = Counter(1);
counter.inc();
counter.inc();
assertEquals(counter.nowCount, 300); // 失敗します
}
右クリックでRun > Ceylon Testを実行します。
実行結果は以下のように表示されます。
JUnitなどを使って来ていたら、見慣れたような画面ですね。
失敗したテストケースは選択すると
そのスタックトレースや失敗原因などのメッセージなどが表示されます。
これで最近流行のTDDをCeylonでもバシバシ実行してください!