我希望能够纯粹在 nodejs 环境中测试 Angular2 管道,而不包括业力等。
可以使用 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 pipe purley?
我正在使用 webpack 捆绑应用程序,因此我在测试文件中要求的文件如下所示:
import {Pipe} from '@angular/core';
@Pipe({
name: 'filterBy'
})
export class FilterByPipe {
transform(items = [], prop, val) {
return items.filter(someFilteringAlgorithm(prop, val));
}
}