-
expectを使用した例外の型のテスト: Jestでは、
expect
関数を使用して例外がスローされることをテストすることができます。また、toThrow
マッチャーを使用して特定の例外の型をテストすることもできます。例えば、以下のようなコードを書くことができます:function throwError() { throw new Error('Something went wrong'); } test('throwError throws an Error', () => { expect(throwError).toThrow(Error); });
上記の例では、
throwError
関数がError
をスローすることを期待しています。もし関数が異なる例外をスローする場合は、例外の型を指定する必要があります。 -
try-catchブロックを使用した例外の型のテスト: Jestでは、try-catchブロックを使用して例外の型をテストすることもできます。以下はその例です:
function throwError() { throw new TypeError('Invalid argument'); } test('throwError throws a TypeError', () => { try { throwError(); } catch (error) { expect(error).toBeInstanceOf(TypeError); } });
上記の例では、
throwError
関数がTypeError
をスローすることをテストしています。toBeInstanceOf
マッチャーを使用して、例外が指定した型であることを確認しています。 -
async/awaitを使用した例外の型のテスト: もし非同期のコードで例外をテストする場合は、
async/await
を使用することができます。以下はその例です:async function asyncError() { throw new SyntaxError('Syntax error'); } test('asyncError throws a SyntaxError', async () => { await expect(asyncError()).rejects.toThrow(SyntaxError); });
上記の例では、
asyncError
関数がSyntaxError
をスローすることをテストしています。rejects
マッチャーを使用して、非同期の関数が指定した例外をスローすることを確認しています。
これらはJestを使用して例外の型をテストするいくつかの一般的な方法です。適切な方法を選択するには、テスト対象のコードや要件に基づいて判断してください。