カルマなどを含めずに、純粋に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 パイプ purley をテストする方法はありますか?
アプリをバンドルするために webpack を使用しているため、テスト ファイルで必要なファイルは次のようになります。
import {Pipe} from '@angular/core';
@Pipe({
name: 'filterBy'
})
export class FilterByPipe {
transform(items = [], prop, val) {
return items.filter(someFilteringAlgorithm(prop, val));
}
}