🔥
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