更新到最新版本的 Aurelia(3 月更新 beta.1.1.4)后,每次运行 karma 测试时都会收到以下错误:
Error: Reflect.getOwnMetadata is not a function
Error loading C:/Software/myproject/test/unit/myclass.spec.ts
我该如何解决?
最佳答案
这与 Aurelia 从 core-js
到自制的 polyfills 的变化有关。缺少 Reflect polyfill,测试无法运行。
这个问题在 Aurelia 导航骨架应用程序中通过每个单元测试文件中的以下导入语句得到解决:
import 'aurelia-polyfills';
我通过仅使用此语句创建一个 setup.ts
(或 setup.js
resp. to your language)文件解决了这个问题,然后将其列在 karma.config.js
在第一位。
对于 JS 例如:
jspm : {
loadFiles: ['test/unit/setup.js', 'test/unit/**/*.js'],
...
}
对于 typescript 例如:
files: ['test/unit/setup.ts', 'test/unit/**/*.ts'],
...
关于javascript - Reflect.getOwnMetadata 不是最新 Aurelia 的 karma 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35775200/