😢

browserモードのvitestがこける

2024/02/22に公開

環境

  • Windows11 Pro
  • vitest: 1.3.1
  • @vitest/browser: 1.3.1
  • node:18.17.0

エラーメッセージ

原因

  • エラーメッセージを見る限り、chromedriverをダウンロードしようとして、うまくいっていないことがわかります。
  • chromedriver自体はvitestがbrowserモードで動作する際にpuppeteerを使っているが、その際にダウンロードしている様子。
  • 表示されているURLにアクセスすると確かに500エラーが帰ってくる。url
  • 現在(2024/02/22)公開されている最新のStableは122.0.6261.57なので、最新のバージョンを指していそう

回避方法

  • Chromeをあきらめ、Windows環境ならおとなしくEdgeにする
    • vite.config.tsのtestのbrowser.nameを'chrome'から'edge'に変更
export default defineConfig({
  test: {
    browser: {
      enabled: true,
      name: "edge",//chromeから変更
      headless: true,
    }
  }
  ...
})

まとめ

  • 500エラーなので、Google側の対応次第?
  • chromeのままでもどこかのタイミングで動作をするようになる可能性はあるものの、そもそもそんなにのんびりできるものではないので、ひとまずの回避
  • vitestでchromeのバージョンを指定できるようになるなどができれば良いのかな?とも思うので、時間があるときにソースコードを読んでみる。

Discussion