首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nodejs中使用mocha测试Angular2管道

如何在nodejs中使用mocha测试Angular2管道
EN

Stack Overflow用户
提问于 2016-09-19 21:15:49
回答 1查看 327关注 0票数 1

我希望能够完全在nodejs环境中测试Angular2管道,而不包括karma等。

可以使用typescript文件作为mocha的测试套件。

https://templecoding.com/blog/2016/05/05/unit-testing-with-typescript-and-mocha/

但是当我有了import {Pipe} from '@angular/core',它就会给我

代码语言:javascript
复制
/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内部有这样的检查:

代码语言:javascript
复制
(function checkReflect() {
    if (!(Reflect && Reflect.getMetadata)) {
        throw 'reflect-metadata shim is required when using class decorators';
    }
})();

在请求了反射元数据之后,我确实在全局对象上使用了Reflect,但是它仍然不起作用……

不管怎样,有没有办法用mocha在nodejs中测试一个角度管道purley?

我使用webpack来捆绑应用程序,所以我在测试文件中需要的文件如下所示:

代码语言:javascript
复制
import {Pipe} from '@angular/core';

@Pipe({
    name: 'filterBy'
})

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

回答 1

Stack Overflow用户

发布于 2016-12-28 06:26:09

我还没有测试管道,但这里有一篇文章解释了如何使用Mocha在Node中测试Angular 2应用程序。但它使用的是Webpack而不是ts-node:Here

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39574157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档