如果你不想使用 Vitest,可以考虑使用 Wrangler 的 unstable_startWorker() API。该 API 暴露了 Wrangler 开发服务器的内部机制,并允许你自定义其运行方式。与直接使用 Miniflare 进行测试相比,你可以传入 Wrangler 配置文件,它会自动为你加载配置。
此示例使用 node:test,但同样适用于任何测试框架:
import assert from "node:assert";
import test, { after, before, describe } from "node:test";
import { unstable_startWorker } from "wrangler";
describe("worker", () => {
let worker;
before(async () => {
worker = await unstable_startWorker({ config: "wrangler.json" });
});
test("hello world", async () => {
assert.strictEqual(
await (await worker.fetch("http://example.com")).text(),
"Hello world",
);
});
after(async () => {
await worker.dispose();
});
});