【Jest】Modifier一覧

目次

はじめに

本記事はJestModifierの一覧をまとめました。

環境構築したい場合は以下の記事にまとめておりますので、是非ご参考ください。

Matcher(Assert)の一覧が知りたい人は以下の記事をご覧ください。

Mockの一覧が知りたい人は以下の記事をご覧ください。

not

notは否定演算子のように動作し、反対の結果のテストが実行できます。

function sum(a, b) {
    return a + b;
}

test('The sum is not 10', () => {
  expect(sum(1, 2)).not.toBe(10);
});

resolves

resolvesは非同期処理のテストを実行できるようにするものです。

非同期処理のPromiseが解決されるまで待機して、その戻り値をアサートできるようにします。

function sum(a, b) {
    return new Promise(function (resolve, reject) {
        try {
            resolve(a + b);
        } catch (e) {
            reject(-1);
        }
    })
}

test('The sum is 3.', () => {
   return expect(sum(1, 2)).resolves.toBe(3);
});

テストそのものが非同期になっているため、async/awaitを組み合わせて書くこともできます。

test('The sum is 3.', async () => {
    await expect(sum(1, 2)).resolves.toBe(3);
    await expect(sum(1, 2)).resolves.not.toBe(-1);
});

rejects

rejectsは非同期処理のテストを実行できるようにするものです。

非同期処理のPromiseが解決されるまで待機して、そのrejectとなったreasonをアサートできるようにします。

function sum(a: number, b: number) {
    return new Promise(function (resolve, reject) {
        try {
            throw Error()
            resolve(a + b);
        } catch (e) {
            reject(-1);
        }
    })
}

test('The sum is error.', () => {
    return expect(sum(1, 2)).rejects.toBe(-1);
});

テストそのものが非同期になっているため、async/awaitを組み合わせて書くこともできます。

test('The sum is Error.', async () => {
    await expect(sum(1, 2)).rejects.toBe(-1);
    await expect(eum(1, 2)).rejects.not.toBe(0);
});

参考

まとめ

この記事ではJestのModifierの一覧をまとめました。

是非、いいねやコメントをお願いします。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次