我希望能够纯粹在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-matadata之后,我确实在全局对象上有Reflect
,但它仍然不起作用......
无论如何,有没有办法用mocha?
测试nodejs中的Angular管道purley我正在使用webpack捆绑应用程序,因此我在测试文件中需要的文件如下所示:
import {Pipe} from '@angular/core';
@Pipe({
name: 'filterBy'
})
export class FilterByPipe {
transform(items = [], prop, val) {
return items.filter(someFilteringAlgorithm(prop, val));
}
}
答案 0 :(得分:0)
我还没有测试过管道,但这里有一篇帖子解释了如何使用Mocha在Node中测试Angular 2应用程序。但它使用Webpack而不是ts-node:Here
希望它可以提供帮助。