我希望能够完全在nodejs环境中测试Angular2管道,而不包括karma等。
可以使用typescript文件作为mocha的测试套件。
https://templecoding.com/blog/2016/05/05/unit-testing-with-typescript-and-mocha/
但是当我有了import {Pipe} from '@angular/core',它就会给我
/Users/foo/node_modules/@angular/core/src/util/decorators.js:173
throw 'reflect-metadata shim is required when using class decorators';
^
reflect-metadata shim is required when using class decorators即使我在我的测试文件中写了require('reflect-metadata'),它仍然会因为同样的错误而崩溃。
Angular内部有这样的检查:
(function checkReflect() {
if (!(Reflect && Reflect.getMetadata)) {
throw 'reflect-metadata shim is required when using class decorators';
}
})();在请求了反射元数据之后,我确实在全局对象上使用了Reflect,但是它仍然不起作用……
不管怎样,有没有办法用mocha在nodejs中测试一个角度管道purley?
我使用webpack来捆绑应用程序,所以我在测试文件中需要的文件如下所示:
import {Pipe} from '@angular/core';
@Pipe({
name: 'filterBy'
})
export class FilterByPipe {
transform(items = [], prop, val) {
return items.filter(someFilteringAlgorithm(prop, val));
}
}发布于 2016-12-28 06:26:09
我还没有测试管道,但这里有一篇文章解释了如何使用Mocha在Node中测试Angular 2应用程序。但它使用的是Webpack而不是ts-node:Here
希望能有所帮助。
https://stackoverflow.com/questions/39574157
复制相似问题