🐙

vite版JestことVitestでユニットテスト

2022/12/12に公開

Jestはもうオワコンだな

関連記事:
JestをES6化してimport/exportを使う方法

以前こんな記事を書いた。

https://zenn.dev/dozo/articles/0091f1a3e790d6

JestがデフォルトでサポートしていないES6以降のファイルを扱う方法を記載したのだが、
あれから何も進化していない。
JestはNodeがサポートしてないからの一点張り。
Nodeは18になっても特に変化なし。

ということでテストランナーを変えることにした。
丁度VueJSでViteを使う機会があったので、
ViteベースのテストランナーVitestを使ってみる。

今回は、TypescriptではなくJavascript。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

Vitestをインストール

適当なディレクトリにvitestをインストールする

bash
mkdir vitest
cd vitest
npm init -f
npm i -D vite vitest

ソースコードとテストを用意する

ソースコードとテストを用意。
せっかくなのでJest公式のコードを使うようにする。

src/sum.js
export const sum = (a, b) => a + b;
test/sum.test.js
import {describe, test, expect} from "vitest";
import {sum} from "../src/sum.js";

describe("sum.js", () => {
  test('adds 1 + 2 to equal 3', () => {
    expect(sum(1, 2)).toBe(3);
  });
})

テスト開始

bash
npx vitest
 ✓ tests/sum.test.js (1)

 Test Files  1 passed (1)
      Tests  1 passed (1)
   Start at  22:53:29
   Duration  2.33s (transform 1.33s, setup 0ms, collect 46ms, tests 7ms)

(・∀・) テスト通った

特に設定ファイルもなく実行できた。
もちろん今後は設定ファイルは必要だと思うが、
viteのファイルと共存できるみたいなのでそのあたりは別途掘り下げていこう

Discussion