🧪
「【解決策あり】Cloudflare KVを使ったテストが簡単すぎた!🚀🍀VitestとMiniflareを使ってみた結果…」
最近、CloudflareのKVに興味が出て、テストしてみようと思いました👀
最初は bun
でやろうとしたんだけど、こんなエラーが出て詰まっちゃった。
一応最新版にアップデートしてみたけど、結局無理でした💦
なので、普通に vitest
を使ってみることにしました。参考にしたのは「Cloudflare WorkersのKVやD1のBindings取り出してテストを書く」という記事です。いろいろ試行錯誤した結果、ちゃんと動いてラッキーでした!✨ 以下がそのコードです。
kv.spec.ts
import { expect, describe, test } from 'vitest'
import { Miniflare } from "miniflare";
describe("cloudflare", async () => {
const mf = new Miniflare({
script: `addEventListener("fetch", (event) => {
event.respondWith(new Response("Hello Miniflare!"));
})`,
kvNamespaces: ['KV'],
});
const kv = await mf.getKVNamespace('KV');
test("KV", async () => {
await kv.put('foo', 'bar');
expect(await kv.get('foo')).toBe('bar');
await mf.dispose();
});
});
テストの実行はこんな感じでやりました。
$ bunx vitest kv.spec.ts --run
✓ kv.spec.ts (1)
✓ timer (1)
✓ KV
Test Files 1 passed (1)
Tests 1 passed (1)
Start at 23:00:36
Duration 563ms (transform 167ms, setup 0ms, collect 359ms, tests 59ms, environment 0ms, prepare 39ms)
いかがでしたか?Cloudflare WorkersのKVを使ったテスト、思ったより簡単にできましたね!🛠️✨ この情報が少しでもお役に立てれば嬉しいです。もし良ければ「いいね」やコメントでフィードバックいただけると励みになります。次回もお楽しみに!🚀👨💻
Discussion