【发布时间】:2017-04-17 14:37:42
【问题描述】:
我有一个 Angular 2 项目。在那个项目中,我导入了 Angulartics npm 包 并将其注入到我的一个组件中。 在我的组件中,我需要为现有的单元测试模拟一个调用。
this.angulartics2.eventTrack.next({ action: 'Track my event'});
在我的测试规范文件中,我做了以下事情:
-
在
beforeEach中添加了这个:mockAngulartics2 = jasmine.createSpyObj<Angulartics2>('angulartics2', ['eventTrack']); -
将此添加到提供者:
{ provide: Angulartics2, useValue: mockAngulartics2 },
当我运行测试时,我收到以下错误。模拟angulartics2.eventTrack.next 对象的正确方法是什么?
TypeError: undefined is not a constructor (evalating 'this.angulartics2.eventTrack.next({ action: 'Track my event' })') in config/spec-bundle.js (line 145931)
【问题讨论】:
标签: unit-testing jasmine angulartics