【mocha】非同期関数の例外テスト


mochaで、async/awaitを使った非同期関数で例外が発生することをテストする方法をメモしておく。

非同期関数で例外が発生しない場合のテスト

まず単純な非同期関数で例外が発生しない場合のテストは、async/awaitを使って以下のように書ける。

テストコード例
describe("非同期関数のテスト", () => {
    it("例外が発生しない場合", async () => {
        const result = await <テスト対象の非同期関数>;
        // assertでチェック
    });
 });

非同期関数で例外が発生する場合のテスト

非同期関数で例外が発生する場合のテストをtry/catchを使って以下のように書いた。

テストコード例
describe("非同期関数のテスト", () => {
    it("例外が発生する場合", async () => {
        try {
            await <テスト対象の非同期関数>;
            // 例外が発生しない場合テスト失敗とする。
            assert.fail("Exception not thrown");
        } catch (e) {
            // assertでチェック
        }
    });
 });