1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BunAdvent Calendar 2023

Day 14

Bunのtestを試してみた

Last updated at Posted at 2023-11-24

今回は、Bunのtestを試してみた。

前回はBunのSQLite、前々回はBunのWebSocketを試してみました。

で、今回は Bunのtest。普段私はMochaを使うことが多いのだけど、試してみたらさほど変わらない感じで、簡単に使えた。Bun testのドキュメントは下記にあります。

Bun>test

因みに、

Bun は Jest との互換性を目指していますが、すべてが実装されているわけではありません。互換性を追跡するには、この追跡問題を参照してください。https://github.com/oven-sh/bun/issues/1825

とのことです。まぁ、普通に使えそうな気はします。手軽に使えるのは良いかな。

ディレクトリ構成サンプル

.
└test/
   ├─test1.test.js
   └─test2.test.js

test用ファイルをとりま2つ用意する

test1.test.js
import { expect, test } from "bun:test";

test("2 + 2 の結果が 4 だみゃー", () => {
  expect(2 + 2).toBe(4);
});
test2.test.js
// https://bun.sh/guides/test/run-tests
//
import { describe, test, expect } from "bun:test";

describe("math", () => {
  test("2 + 2 は、4 なのだ。", () => {
    expect(2 + 2).toEqual(4);
  });

  test("2 * 2 は、4 である。", () => {
    expect(2 * 2).toEqual(4);
  });
});

このtestというメソッドはMochaならitメソッドでdescribeも同じ感じ。第一引数でテストの説明、第二引数でテスト関数を渡すのはまぁ同じ。こんな感じになる。testだけでも良い。

describe(description0, testFunction0(){
    test(description1, testFunction1);
})

実行

この二つのファイルを置いてから下記を実行する

$ bun test

すると

結果

bun test
bun test v1.0.11 (f7f6233e)

test2.test.js:
? math > 2 + 2 は、4 なのだ。 [0.04ms]
? math > 2 * 2 は、4 である。 [0.01ms]

test1.test.js:
? 2 + 2 の結果が 4 だみゃー [0.03ms]

 3 pass
 0 fail
 3 expect() calls
Ran 3 tests across 2 files. [18.00ms]

になる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?