🀄
NestJS(Typescript)テストコードの作り方
はじめに
NestJSのテストコードの作り方を簡単に解説します。
やること
- ファイルを作成する
- describeを作成する
- itを作成する
- expectを作成する
- テストを実行する
ファイルを作成する
NestJSではデフォルトで、srcディレクトリ配下にある*.spec.tsというファイル拡張子を自動でテストコードと識別します。
src配下にexample.spec.tsを用意した図。
以下コマンドを実行した際、ファイルに記述したテストコードを実行してくれます。
npm run test
テスト実行後の画面
describeを作成する
ファイルを作成した後、describeというメソッドを用意します。
describeによって関連するテストをまとめるために使用します。
第1引数は、テストの説明
第2引数は、テストケースを記述するためのコールバック関数
describe('サンプルテスト', () => {
// ここにテストケースを追加する
})
itを作成する
describeでテストブロックを作成後、itというメソッドを用意します。
itメソッドは、実際のテストケース名を記述します。
第1引数は、テストの説明
第2引数は、テスト内容を記述するための、コールバック関数
第3引数は、タイムアウト(単位:ミリ秒) ※デフォルトタイムアウトは5秒。省略可能。
describe('サンプルテスト', () => {
it('戻り値がtrueとなる', () => {
// ここにテストコードを記述する
})})
expectを用意する
最後にexpectメソッドを作成します。
テスト結果を評価するメソッドとなります。
describe('サンプルテスト', () => {
it('戻り値がtrueとなる', () => {
expect(true).toBe(true); // 成功する例
expect('Hello').toBe('hellooo'); //失敗する例
})})
実際にテストコードのサンプル
テストファイルを作成して、以下のテストコードを記述します。
2つの数字を足し算するメソッドを用意して、そのテストコードを作成しました。
example.spec.ts
function addNumbers(num1: number, num2: number) {
return num1 + num2;
}
describe('加算する', () => {
it('2つの数字を加算します', () => {
expect(addNumbers(2, 2)).toEqual(4);
});
});
実行してみます。
npm run test
無事に期待した処理結果が返ってきて、テストがPASSした図。
以上です。
Discussion