2025/11/14
Bunのテストランナーを試してみる
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"
}これで無効化できますが、本番環境では絶対に使用しないでください。