I've been unable to get my test jasmine test suite running with webpack 4. After upgrading webpack, I get the following error for almost every test:
Error: <spyOn> : getField is not declared writable or has no setter
This is due to a common pattern we use to create spys for simple functions is:
import * as mod from 'my/module';
//...
const funcSpy = spyOn(mod, 'myFunc');
I've played around with module.rules[].type
but none of the options seem to do the trick.
This webpack GH issue indicates ECMA modules are meant to not be writable which makes sense for the web but is there really no workaround for testing?
Relevant package versions:
"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",