使い方

テストケース

定義

テストケースは実際にテストしたい内容を記述した関数です。

この関数は戻り値を必ず必要とします。

0 : テスト継続

1 : テスト成功

-1 : テスト失敗

-2 : 致命的エラー

テスト継続の場合、次のtickでも同じ関数が呼び出されます。

関数が呼び出されたtickはnest.case.tick というスコアで取得できます。

(テストケースの関数は実際のテスト時にコマンド実行者 @s をテストケースエンティティに設定した状態で呼び出され、nest.case.tick はそのエンティティが保持しています)

定義例

# nest.case.tick を参照
execute if score @s nest.case.tick = ... run ...

# 致命的エラー時は -2 を返す
execute unless function xxx:check_fatal_error run return -2

# 失敗時は -1 を返す
execute unless function xxx:do_something run return -1

...

# 成功時は 1 を返す
execute if ... run return 1

# 継続時は 0 を返す
# nest.case.tick を使って複数回のテストを試行できる
# 例えば 10 回繰り返す場合は下記のようにする
# execute if score @s nest.case.tick matches 10.. run return 1
return 0

テストスイート

定義

テストケースはテストスイートの束です。

複数のテストケースをテーマやカテゴリごとにまとめたものになります。

まとめられたテストケースには Setup と Teardown という共通の前処理・後処理を追加できます。

Setup と Teardown もそれぞれ一つの関数です。ただし、必ず戻り値を返さなければなりません。

0 : エラー

1 : 成功

テストをする前提として必要になる処理やエンティティの準備・後始末に利用してください。

定義例

# 初期化失敗した場合はエラー
execute unless function xxx:initialize run return fail

...

# 成功時は必ず 1 を返すこと
return 1

エイリアス(別名)