prisma-fabbricaをvitest-environment-vprismaで使うためのSetUp
prisma-fabbricaは、Prismaのジェネレータであり、schema.prisma
からレコードを作成するためのヘルパーを生成します。これを使うことで、シードデータの作成やテストデータの作成を簡単に行うことができます。
vitest-environment-vprismaは、PrismaとVitestを組み合わせたテスト環境を提供します。各テストケースをトランザクションで分離し、テストの完了後にロールバックすることで、テスト間の依存関係を排除します。
vitest-environment-vprismaは、prisma-fabbricaの作者であるQuramyさんが作成したjest-prismaというライブラリをベースにして作成されています。
jest-prismaでは、Tips > Works with jest-prismaにjest-prismaとprisma-fabbricaを組み合わせるための設定が記載されていますが、vitest-environment-vprismaに向けた設定は記載されていません。
そこで、本記事では、vitest-environment-vprismaを使う際のprisma-fabbricaの設定方法を紹介します。
SetUp
vitest-environment-vprismaの基本的な設定に加えて、setUpFileとしてvitest.setup.ts
を追加します。
import { defineConfig } from "vite";
export default defineConfig({
test: {
globals: true,
environment: "vprisma",
setupFiles: ["vitest-environment-vprisma/setup", "vitest.setup.ts"] // vitest.setup.tsを追加
},
});
vitest.setup.ts
にprisma-fabbricaの設定を記載します。
import { initialize, resetSequence } from "./__generated__/fabbrica";
beforeAll(() => {
initialize({
prisma: () => vPrisma.client,
});
});
beforeEach(() => resetSequence());
この設定は、prisma-fabbricaのソースコードに含まれるjest-prisma向けの設定を参考にしています。
以上の設定により、vitest-environment-vprismaとprisma-fabbricaを組み合わせて使用することができるようになります。
Discussion