モジュールテスト
テストモジュールはテストフレームワークであり、アサーションモジュールと組み合わせることで、assert
さまざまなテストケースを簡単に記述することができます。
fibjs
モジュールを導入するには、test
多くの場合、最初のtest setup
操作が必要になります。
1
2var test = require('test');
test.setup();
通常、テスト ケースを作成する前に、テストの内容を記述するテスト モジュールを定義する必要があります。
- 説明する
description は、テスト スイートの概念に似たすべてのテスト グループのコンテナであり、it
特定のカテゴリにテストを固定するために使用されます。describe には、複数の IT ユース ケースや、ネストされた description で表されるその他のサブカテゴリを含めることができます。
1describe(String name, Function block)
呼び出しパラメータ: 名前: 文字列、モジュール名を定義 ブロック: 関数、モジュール初期化コード
- それ
単一のテスト ケースを表し、テスト結果の信頼性を確保するために、各説明は単一の状況のみをテストする必要があります。
1it(String name, Function block)
呼び出しパラメータ: 名前: 文字列、プロジェクト名を定義 ブロック: 関数、テスト内容
- 終了(&I)スキップ
スキップされたテスト ケースを表します。
1xit(String name, Function block)
呼び出しパラメータ: 名前: 文字列、プロジェクト名を定義 ブロック: 関数、テスト内容
- オイト&イットのみ
現在のテスト ケースのみが実行され、他のテスト ケースは無視されるため、現在のテスト ケースを個別にデバッグできるため、非常に実用的です。
1
2oit(String name, Function block)
it.only(String name, Function block)
呼び出しパラメータ: 名前: 文字列、プロジェクト名を定義 ブロック: 関数、テスト内容
- やるべきこと
テストケース計画をさらに改善する必要があることを示します。
1todo(String name, Function block)
呼び出しパラメータ: 名前: 文字列、プロジェクト名を定義 ブロック: 関数、テスト内容
テスト ケースを作成するときは、次のように使用するのが一般的です。assertアサーション モジュール。関数の戻り値を確認します。それの使い方:
1assert(condition, String message);
このうち、最初のパラメータはアサートする必要がある条件、2 番目のパラメータはエラー メッセージです。
物体
assert
テスト モジュールをアサートします。テスト値が false の場合、エラーが報告されます。エラー報告動作は、実行を継続するか、エラーをスローするように設定できます。
1assert test.assert;
静的関数
describe
ネストできるテスト モジュールを定義する
1
2static test.describe(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、モジュール名を定義します
- block: 関数、モジュール初期化コード
xdescribe
テストを一時停止するモジュール定義、test.setupその後、describe.skip を使用して呼び出すことができます。
1
2static test.xdescribe(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、モジュール名を定義します
- block: 関数、モジュール初期化コード
odescribe
独立したテスト用のモジュール定義、test.setupその後、describe.only を使用して呼び出すことができます
1
2static test.odescribe(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、モジュール名を定義します
- block: 関数、モジュール初期化コード
it
テストプロジェクトを定義する
1
2static test.it(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、プロジェクト名を定義します
- block:機能、テスト内容
xit
テストを一時停止するためのプロジェクト定義、test.setupit.skip を使用して電話をかけることができます。
1
2static test.xit(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、プロジェクト名を定義します
- block:機能、テスト内容
oit
独立したテストのためのプロジェクト定義、test.setupその後、通話のみに使用できます。
1
2static test.oit(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、プロジェクト名を定義します
- block:機能、テスト内容
todo
プロジェクト定義の計画、test.setupit.todo を使用して呼び出すことができます
1
2static test.todo(String name,
Function block);
呼び出しパラメータ:
- name: 文字列、プロジェクト名を定義します
- block:機能、テスト内容
before
現在のテストモジュールのエントリイベントを定義します
1static test.before(Function func);
呼び出しパラメータ:
- func:関数、イベント関数
after
現在のテストモジュールの終了イベントを定義します。
1static test.after(Function func);
呼び出しパラメータ:
- func:関数、イベント関数
beforeEach
現在のテスト モジュールのテスト プロジェクトのエントリ イベントを定義します
1static test.beforeEach(Function func);
呼び出しパラメータ:
- func:関数、イベント関数
afterEach
現在のテスト モジュールのテスト プロジェクトの終了イベントを定義します。
1static test.afterEach(Function func);
呼び出しパラメータ:
- func:関数、イベント関数
mustCall
関数が指定された回数呼び出される必要があるかどうかをテストする
1static Function test.mustCall(Function func);
呼び出しパラメータ:
- func: 関数、テストされている関数
返される結果:
- Function、ラップされた関数を返します
mustNotCall
関数を呼び出してはいけないことをテストする
1static Function test.mustNotCall(Function func);
呼び出しパラメータ:
- func: 関数、テストされている関数
返される結果:
- Function、ラップされた関数を返します
関数を呼び出してはいけないことをテストする
1static Function test.mustNotCall();
返される結果:
- Function、ラップされた関数を返します
run
定義されたテストモジュールの実行を開始します
1static Object test.run(Integer mode = console.ERROR);
呼び出しパラメータ:
- mode: 整数、テストモードを指定 ERROR の場合、レポートの後にプロジェクトエラー情報を集中して表示 ERROR 以下の場合、出力情報を随時表示 ERROR 以上の場合、レポートのみ表示表示されます。
返される結果:
- Object、テスト結果を返します
テストの実行が完了すると、テスト結果が次の形式で返されます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33{
"total": 2, // number of total test cases
"pass": 2, // number of passed test cases
"fail": 0, // number of failed test cases
"skip": 0, // number of skipped test cases
"todo": 0, // number of todo test cases
"time": 0.000000, // time elapsed in seconds
"cases": [ // details of test cases
{
"name": "test", // name of test case
"time": 0.000000, // time elapsed in seconds
"result": true, // result of test case
"error": null // message of error if test case failed
},
{
"name": "sub cases", // name of sub test case
"total": 1, // number of total test cases
"pass": 1, // number of passed test cases
"fail": 0, // number of failed test cases
"skip": 0, // number of skipped test cases
"todo": 0, // number of todo test cases
"time": 0.000000, // time elapsed in seconds
"cases": [ // details of test cases
{
"name": "test", // name of test case
"time": 0.000000, // time elapsed in seconds
"result": true, // result of test case
"error": null // message of error if test case failed
}
]
}
]
}
setup
現在のスクリプトのテスト環境を初期化し、テスト モジュール メソッドを現在のスクリプトのグローバル変数としてコピーします。
1static test.setup();
静的プロパティ
slow
整数。低速テストの警告しきい値をミリ秒単位で設定およびクエリします。デフォルトは 75 です。
1static Integer test.slow;