2025/11/14

Bunのテストランナーを試してみる

BunJS

bun testがとても高速だということで気になりました。

Jestからも移行しやすいようになっているということなので試してみます。

インストール

BunのテストランナーはBunに同梱されているのでインストールされている方はそのままでOKです。

インストールされていない方は公式を参考にインストールしてみて下さい。

以下にはWindowsでのインストールコマンドを記載しておきます。

powershell -c "irm bun.sh/install.ps1|iex"

# インストールされているか確認
bun --version

テストファイルの作成

テストファイルはルートディレクトリにtestフォルダを作成してそのなかに入れてください。

今回はNext.jsのAPIをテストするように編集します。

// 必要なモジュールをインポート
import { describe, test, expect } from "bun:test";

describe('APIテスト', () => {
    test('正常系:商品情報取得', async() => {
        const response = await fetch('http://localhost:3000/api/getItemInfo/xxxxx');
        const data = await response.json();
        expect(data.status).toBe(true);
    });
});

テストの実行

以下のコマンドで実行できます。

> bun test

test\test1.test.js:
✓ APIテスト > 正常系:商品情報取得 [94.00ms]

 1 pass
 0 fail
 1 expect() calls
Ran 1 test across 1 file. [130.00ms]

開発サーバーをHTTPSで立ち上げている場合

開発サーバーをHTTPSで立ち上げている場合SELF_SIGNED_CERT_IN_CHAINエラーが出ると思います。

検証用のために無効化する必要があります。

package.jsonにスクリプトを追加します。

"scripts": {
	"test": "NODE_TLS_REJECT_UNAUTHORIZED=0 bun test"
}

これで無効化できますが、本番環境では絶対に使用しないでください。

最後に

株式会社Robbitsでは一緒に働く仲間を募集しています!
ご興味のある方は是非一度ホームページをご覧ください!

ホームページを見てみる