问题描述
更新到最新版本的Aurelia(3月更新beta.1.1.4)之后,每次运行业力测试时都会遇到以下错误:
After updating to the latest version of Aurelia (March update beta.1.1.4), I'm getting the following error every time I run karma tests:
Error: Reflect.getOwnMetadata is not a function
Error loading C:/Software/myproject/test/unit/myclass.spec.ts
我该如何解决?
推荐答案
这与将Aurelia从core-js
更改为本地的polyfill有关.缺少反射"填充并且测试无法运行.
This has to do with the change of Aurelia from core-js
to home-grown polyfills. The Reflect polyfill is missing and tests fail to run.
在Aurelia导航框架应用程序中,通过每个单元测试文件中的以下import语句解决了此问题:
This problem is addressed in Aurelia navigation skeleton app by the following import statement in each unit test file:
import 'aurelia-polyfills';
我通过仅使用此语句创建一个setup.ts
(或setup.js
对应于您的语言的)文件,然后将其首先列在karma.config.js
中来解决了该问题.
I solved it by creating a setup.ts
(or setup.js
resp. to your language) file with just this statement, and then just listing it in karma.config.js
at the first place.
对于JS例如:
jspm : {
loadFiles: ['test/unit/setup.js', 'test/unit/**/*.js'],
...
}
对于打字稿,例如:
files: ['test/unit/setup.ts', 'test/unit/**/*.ts'],
...
这篇关于Reflect.getOwnMetadata不是最新Aurelia的业力函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!