2016-09-19 38 views
1

我希望能夠在環境的NodeJS純粹測試一個Angular2管而不包括因果報應等如何測試Angular2管與摩卡沒有的NodeJS人緣

它可以使用打字原稿文件作爲測試套件摩卡

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')在我的測試文件中它仍然打破了相同的錯誤。

角內部有這樣的檢查:

(function checkReflect() { 
    if (!(Reflect && Reflect.getMetadata)) { 
     throw 'reflect-metadata shim is required when using class decorators'; 
    } 
})(); 

而且

requireing反映-matadata我確實有Reflect全局對象上,但它仍然無法正常工作......反正以後有一個用mocha測試nodejs中的角度管道purley的方法?

我使用的WebPack捆綁應用程序,所以我requring在我的測試文件的文件看起來是這樣的:尚未

import {Pipe} from '@angular/core'; 

@Pipe({ 
    name: 'filterBy' 
}) 

export class FilterByPipe { 
    transform(items = [], prop, val) { 
    return items.filter(someFilteringAlgorithm(prop, val)); 
    } 
} 
+0

我做了一些類似的工作:import「reflect-metadata」; – kaseOga

回答

0

我沒有測試管道,但在這裏,介紹如何帖子在Mocha的Node中測試Angular 2應用程序。但它使用Webpack而不是ts-node:Here

希望它可以提供幫助。