テスト jasmine テスト スイートを webpack 4 で実行できませんでした。webpack をアップグレードした後、ほぼすべてのテストで次のエラーが発生します。
Error: <spyOn> : getField is not declared writable or has no setter
これは、単純な関数のスパイを作成するために使用する一般的なパターンが原因です。
import * as mod from 'my/module';
//...
const funcSpy = spyOn(mod, 'myFunc');
私は遊んでみましたmodule.rules[].type
が、どのオプションもうまくいかないようです。
この webpack GH の問題は、ECMA モジュールが書き込み可能ではないことを示しています。これは Web にとって意味がありますが、テストのための回避策は本当にありませんか?
関連するパッケージのバージョン:
"jasmine-core": "2.6.4",
"typescript": "2.5.3",
"webpack": "4.1.1",
"webpack-cli": "^2.0.12",
"karma": "^0.13.22",
"karma-jasmine": "^1.1.0",
"karma-webpack": "^2.0.13",