たぶん TypeScript のときだけ。というか Babel 使ってるときだけ。

エラー

it() がエラーになっちゃった。

    ReferenceError: regeneratorRuntime is not defined

      30 |       });
      31 |
    > 32 |       it("can read to own item", async () => {
         |         ^

詳細な再現条件は確認してないけど(内部で)ジェネレーター関数が利用されているとこうなるっぽい。

解決策

ポリフィルを入れて、

$ npm install -D regenerator-runtime

どこかで一度だけ import します。

import "regenerator-runtime/runtime";

たぶん setupFilesAfterEnv 設定で指定したスクリプトに書くことになるでしょう。

関連:

babel-polyfill ?

古い情報だと babel-polyfill を入れろというのがあるんだけど、このパッケージはもう非推奨 deprecated になってるので、regenerator-runtime の方を使ってください。

🚨 As of Babel 7.4.0, this package has been deprecated in favor of directly including core-js/stable (to polyfill ECMAScript features) and regenerator-runtime/runtime (needed to use transpiled generator functions):

🚨 Babel 7.4.0 ではこのパッケージは非推奨となりました。core-js/stable(ECMAScript 機能を代替する)や regenerator-runtime/runtime(トランスパイルされたジェネレーター関数の利用に必要)を直接含めてください。

core-js/stable の方は今回の件については不要です。

おしまい

フレームワークなしの自力でやると細かいところで引っかかるものですね。FW すごい。

参考