角度4单元测试错误`TypeError:ctor不是构造函数` [英] angular 4 unit testing error `TypeError: ctor is not a constructor`

查看:262
本文介绍了角度4单元测试错误`TypeError:ctor不是构造函数`的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试测试路由解析器,而在测试过程中却得到了TypeError: ctor is not a constructor,不知道为什么打字稿编译时没有错误.

I am trying to test my route resolver and while testing I got TypeError: ctor is not a constructor and no idea why it happen while typescript compile time no error.

TypeError: ctor is not a constructor
TypeError: ctor is not a constructor
    at _createClass (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42355:26)
    at _createProviderInstance$1 (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42330:26)
    at resolveNgModuleDep (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42315:17)
    at _createClass (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42362:26)
    at _createProviderInstance$1 (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42330:26)
    at resolveNgModuleDep (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42315:17)
    at NgModuleRef_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.NgModuleRef_.get (http://localhost:9877/_karma_webpack_/vendor.bundle.js:43401:16)
    at TestBed.webpackJsonp../node_modules/@angular/core/@angular/core/testing.es5.js.TestBed.get (http://localhost:9877/_karma_webpack_/vendor.bundle.js:48412:47)
    at http://localhost:9877/_karma_webpack_/vendor.bundle.js:48418:61
    at Array.map (native)

推荐答案

这可能是提供者声明中的错误.

This can be an error in the providers declarations.

当您尝试模拟提供程序并使用useClass而不是useValue时,会引发错误"TypeError:ctor不是构造函数".

When you try to mock a provider and use useClass instead of useValue the error "TypeError: ctor is not a constructor" is fired.

以下是引发错误的示例:

Here is an example that fires the error :

providers: [{provide: OrderService, useClass: new OrderServiceMock()}]

正确的声明是:

providers: [{provide: OrderService, useValue: new OrderServiceMock()}]

这篇关于角度4单元测试错误`TypeError:ctor不是构造函数`的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆