コンテンツにスキップ

既知の問題

Workers Vitestプールは現在オープンベータ中です。以下はCloudflareが認識している問題で、修正中のものです。

カバレッジ

V8を介したネイティブコードカバレッジはサポートされていません。代わりに、Istanbulを介した計測されたコードカバレッジを使用する必要があります。セットアップ手順については、Vitest Coverage documentationを参照してください。

フェイクタイマー

VitestのフェイクタイマーはKV、R2、およびキャッシュシミュレーターには適用されません。たとえば、フェイクタイムを進めることでKVキーを期限切れにすることはできません。

SELFおよびDurable Objectsを使用した動的import()ステートメント

動的import()ステートメントは、SELFを使用した統合テストのexport default { ... }ハンドラー内や、Durable Objectイベントハンドラー内では機能しません。ハンドラーを直接インポートして呼び出すか、グローバルスコープで静的importステートメントを使用する必要があります。

Durable Objectアラーム

Durable Objectアラームはテスト実行間でリセットされず、隔離ストレージを尊重しません。テストを終了する前に、各テストでスケジュールされたrunDurableObjectAlarm()を削除または実行することを確認してください。

Durable ObjectsとisolatedStorage

isolatedStorageフラグをオンにした状態でDurable ObjectsとWebSocketsを使用することはサポートされていません。vitest.config.tsファイルでisolatedStorage: falseを設定する必要があります。

RPCメソッドからの非プリミティブ値の返却

RPCメソッドから非プリミティブ値(オブジェクトやRpcTargetを拡張するクラスなど)を返すには、usingキーワードを使用する必要があります。詳細については、https://developers.cloudflare.com/workers/runtime-apis/rpc/lifecycle#explicit-resource-managementを参照してください。例のテストworkers-sdkリポジトリに含まれています。