LoginSignup
5
1

【Vitest書き方】describe, it, test, beforeAll...って何?

Last updated at Posted at 2024-01-06

Vitestは、JavaScriptおよびTypeScriptのためのモダンなテストランナーおよびアサーションライブラリです。VitestはJestにインスパイアされているため、describe, it, beforeAllなどの関数の使い方はJestと非常に似ています。これらの関数を使用してテストスイートを構成し、個々のテストケースを定義し、テストの実行前に必要な準備を行います。

基本的な構造

  • describe: テストスイートをグループ化するために使用されます。関連するテストケースを一つのブロック内にまとめることができます。
  • it/test: 個々のテストケースを定義します。テストしたい具体的な動作や機能に対して記述します。一般的に、it と test は同じ目的で使用されますが、テストケースを記述する際の文脈によって選択します。
  • beforeAll: すべてのテストケースが実行される前に一度だけ実行される関数です。テストに必要な初期化処理などを行います。
  • afterAll: すべてのテストケースの実行が完了した後に一度だけ実行される関数です。テストの後片付けなどを行います。
  • beforeEach/afterEach: それぞれのテストケースが実行される前後に毎回実行される関数です。

サンプルコード

以下にVitestを使用したテストコードの例を示します。

import { describe, it, expect, beforeAll, afterAll } from 'vitest';

describe('数値のテスト', () => {

  beforeAll(() => {
    // すべてのテストケースの前に実行される処理
    console.log('テスト開始前の初期化');
  });

  afterAll(() => {
    // すべてのテストケースの後に実行される処理
    console.log('テスト完了後の後片付け');
  });

  it('数値の等価性テスト', () => {
    expect(2 + 2).toBe(4);
  });

  it('数値の不等価性テスト', () => {
    expect(2 + 2).not.toBe(5);
  });

});

この例では、describeブロックを使用して、数値に関するテストケースをグループ化しています。it関数は個々のテストケースを定義し、expectとアサーションメソッド(例えばtoBenot.toBe)を使用して期待される結果を検証します。beforeAllafterAllは、テストスイートの開始前後に実行される処理を定義しています。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1