角 10 | ngrx 效果 | 单元测试 | 不能将类作为函数调用

Man*_*mar 5 ngrx ngrx-effects angular angular-unit-test angular10

将 Angular 项目升级到 Angular 10 后,ngRx 效果单元测试开始出现问题。升级后报错如下:

在此处输入图片说明

遇到同样的问题,按照解决方案。

谢谢,

Man*_*mar 11

希望有一天这对某人有用。

经过几个小时的调试和搜索,找到了问题的根本原因。

target设置为ES5in时会出现此问题tsconfig.base.json

默认情况下,Angular 10 会ES2015使用可以正常工作的设置进行搭建。但是,该解决方案不适用于旧版浏览器,即。IE11。

我们如何将目标设置为ES5,以便项目在 IE 中运行并通过单元测试?

嗯,解决方案非常简单。

只需将目标设置设置tsconfig.spec.jsonES2015(定义如下),无需更改 base 中的任何配置tsconfig。这对我来说就像魅力一样,项目使用ES5设置编译生成器,单元测试在ES2015设置下运行良好。

{
  "extends": "./tsconfig.base.json",
  "compilerOptions": {
    "outDir": "./out-tsc/spec",
    "types": ["jasmine"],
    "target": "ES2015"
  },
  "files": ["src/test.ts", "src/polyfills.ts"],
  "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
}
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

愉快的编码和调试 :-)

谢谢,