Closed3

@storybook/jestのexpectにtoBeInTheDocumentやtoHaveAttributeが生えていない問題

堀川登喜矢堀川登喜矢

@storybook/jestを使ってテストを書いていると、expect().toHaveAttribute()などのアサーション関数が無いとエラーになる問題。

下記のdiscussionsの内容からv0.0.9で既に対応しているとのこと…。
がしかし、v0.0.10を使っている弊リポで解決されなかった。

storybook/jestのexpectにtoBeInTheDocumentやtoHaveAttributeが無いじゃないか問題。このdiscussionsの通りyarn.lockファイルを消してインストールし直すと、storybook/expectの依存関係がアップデートされてアサーション関数が使えるようになった。

https://twitter.com/HorikawaTokiya/status/1527230521830678528?s=20&t=lIBN7uMTvQIbRM8fbaeRBg

堀川登喜矢堀川登喜矢

解決

@storybook/jestの依存関係にある@storybook/expectのバーションがv27.5.2以上になっている必要があるらしい。

yarn.lockファイルを見ると@storybook/expectのバージョンがそれよりも低い。

  1. yarn.lockファイルを削除
  2. yarn installで最新にする
$ rm yarn.lock
$ yarn install

注意: yarn.lockファイルを消してアップデートするので、その他の依存関係も更新されてしまうので注意!!

堀川登喜矢堀川登喜矢

解決(yarn.lockファイルを消したくないよ!)

yarn.lockファイルを消さずとも、@storybook/jestを一旦removeしてインストールし直せば、依存関係のライブラリも自ずとアップデートされる!こっちが正解の対処法だ!!

$ yarn remove @storybook/jest
$ yarn add -D @storybook/jest
このスクラップは2022/05/19にクローズされました