Reflect.getOwnMetadata不是最新Aurelia的业力函数

时间:2016-03-03 14:42:22

标签: javascript typescript karma-runner aurelia

更新到Aurelia的最新版本(March update beta.1.1.4)后,每次运行业力测试时,我都会收到以下错误:

Error: Reflect.getOwnMetadata is not a function
Error loading C:/Software/myproject/test/unit/myclass.spec.ts

我该如何解决?

1 个答案:

答案 0 :(得分:12)

这与Aurelia从core-js到本土生产的polyfills的变化有关。 Reflect polyfill缺失,测试无法运行。

Aurelia导航骨架应用中的每个单元测试文件中的以下import语句都解决了这个问题:

import 'aurelia-polyfills';

我通过仅使用此语句创建setup.ts(或setup.js resp。到您的语言)文件解决了这个问题,然后将其列在karma.config.js的第一位。< / p> 对于JS,例如

jspm  : {
  loadFiles: ['test/unit/setup.js', 'test/unit/**/*.js'],
  ...
}

for Typescript例如:

files: ['test/unit/setup.ts', 'test/unit/**/*.ts'],
...