🔥
Hono + Cloudflare WorkersでserveStaticしている時のvitestの設定
背景
- Hono内で
serveStatic()
を利用する際は、import manifest from '__STATIC_CONTENT_MANIFEST';
というイディオムが必要となる -
__STATIC_CONTENT_MANIFEST
は静的ファイルをCloudflare KVで配信するための設定を色々書くためのものらしい、あんまりよくわかっていない - このimportはvitestでは失敗する
解決策
import { vi } from 'vitest';
vi.mock('__STATIC_CONTENT_MANIFEST', () => ({ default: {} }));
vi.mock
により、指定した名前のモジュールの内容をテストコード側で定義出来るので、テストを実行出来るようになる。
モックの内容はこれでいいのか?
- jestの例だが、単に
{}
に置き換える手法がいくつかのIssueで示されているので、これでいいのだろう -
moduleNameMapper
という設定を利用しているが、これはvitestにはないので、vi.mock
を利用している- こちらの方が、変にファイルや設定を作らなくて良いので筋が良い気がする
Discussion