跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Back to all posts

使用新的 cloudflare:test 辅助函数测试 Durable Object 逐出(eviction)

@cloudflare/vitest-pool-workers 包现在包含了从 cloudflare:test 导出的 evictDurableObjectevictAllDurableObjects 测试辅助函数。

这些辅助函数允许您测试 Durable Object 在逐出发生时的行为,模拟闲置 Durable Object 从内存中逐出的实际生产生命周期。

有关更多背景信息,请参阅 Durable Object 的生命周期

import { evictDurableObject, evictAllDurableObjects } from "cloudflare:test";
import { env } from "cloudflare:workers";

const id = env.COUNTER.idFromName("my-counter");
const stub = env.COUNTER.get(id);

// 逐出特定 stub 所指向的 Durable Object 实例
await evictDurableObject(stub);

// 关闭 WebSockets 而不是将它们休眠
await evictDurableObject(stub, { webSockets: "close" });

// 逐出当前在可逐出命名空间中运行的所有 Durable Objects
await evictAllDurableObjects();

这些辅助函数在 @cloudflare/[email protected] 及更高版本中可用。

请在 测试 API 参考测试 Durable Objects 指南中了解更多信息。