我有一个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)