↑の続き。
タイトルの通り、
● Test suite failed to run
ReferenceError: regeneratorRuntime is not defined
というエラーでテスト自体が正常に処理されないケースがある。
どうやら babel 周りの設定が原因らしいのだけど、いまいちわからない。
いろいろ調べた結果をメモしておこうと思う。
Store の actions のところで「ReferenceError: regeneratorRuntime is not defined」
$ yarn test HogeComponent
yarn run v1.16.0
$ jest HogeComponent
FAIL spec/components/parts/HogeComponent.spec.js
● Test suite failed to run
ReferenceError: regeneratorRuntime is not defined
> 139 | const actions = {
| ^
140 |
at src/store/index.js:139:17
at Object.<anonymous> (src/store/index.js:139:17)
at Object.<anonymous> (spec/components/parts/HogeComponent.spec.js:4:1)
といったように、 Store の actions のところで謎のエラーが発生。
いろいろ調べてみると package.json の babel の定義を
"babel": {
"env": {
"test": {
"presets": [
"@babel/preset-env"
]
}
}
}
から、
・・・
"babel": {
"env": {
"test": {
"presets": [
["@babel/preset-env", {
"targets": {
"node": "current"
}
}]
]
}
}
}
・・・
というように直してみたら正常に処理できた。
Component の Script 内部にて「ReferenceError: regeneratorRuntime is not defined」
$ yarn test HogeComponent
yarn run v1.16.0
$ jest HogeComponent
FAIL spec/components/parts/HogeComponent.spec.js
● Test suite failed to run
ReferenceError: regeneratorRuntime is not defined
353 | },
> 354 | methods: {
| ^
まったく意味不明だったけど、Component の Script 内部の定義にて、
export default {
data() {
・・・割愛・・・
computed: {
・・・割愛・・・
mounted() {
・・・割愛・・・
という順番で定義していたのを、
export default {
data() {
・・・割愛・・・
mounted() {
・・・割愛・・・
computed: {
・・・割愛・・・
の様に順番を入れ替えたら正常にテストが処理されるようになった。
babel 、あるいは webpack 的なサムシングなのだろうけど、あまり明るくないのでツライ。