角度4单元测试错误`TypeError:ctor不是构造函数` [英] angular 4 unit testing error `TypeError: ctor is not a constructor`
本文介绍了角度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屋!
查看全文