Angular单元测试中,toHaveBeenCalled()方法不起作用。
创始人
2024-10-23 22:30:42
0

在使用该方法之前,需要先确保已经引入了Jasmine的spy功能。然后可以使用Jasmine的spyOn()方法来创建一个假的函数,以保证toHaveBeenCalled()方法正常工作。

以下是一个示例代码:

import { TestBed } from '@angular/core/testing';

describe('MyComponent', () => {
  let myComponent;
  let myService;

  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [
        MyService
      ]
    });

    myService = TestBed.get(MyService);

    spyOn(myService, 'myMethod');

    myComponent = new MyComponent(myService);
  });

  it('should call myMethod when button is clicked', () => {
    myComponent.onClick();

    expect(myService.myMethod).toHaveBeenCalled();
  });
});

在这个示例中,我们首先引入了TestBed,以便进行单元测试。然后我们创建了一个假的myService,使用Jasmine的spyOn()方法来监视myMethod方法。最后,我们创建了一个MyComponent实例,并在测试用例中调用onClick()方法。使用Jasmine的toHaveBeenCalled()方法来断言myService的myMethod方法已经被调用。

通过这种方式,我们就可以保证Angular单元测试中的toHaveBeenCalled()方法正常工作了。

相关内容

热门资讯

5分钟了解(微扑克有挂)软件透... 5分钟了解(微扑克有挂)软件透明挂辅助安装(透视)技巧教程(2020已更新)(哔哩哔哩);1、超多福...
9分钟了解(aapoker开发... 9分钟了解(aapoker开发)软件透明挂辅助科技(透视)总结教程(2026已更新)(哔哩哔哩);相...
2分钟了解(聚星扑克)软件透明... 2分钟了解(聚星扑克)软件透明挂辅助神器(透视)辅助教程(2024已更新)(哔哩哔哩)是一款可以让一...
第九分钟了解(We辅poker... 第九分钟了解(We辅poker助)黑科技透明挂辅助插件(透视)专业教程(2024已更新)(哔哩哔哩)...
第五分钟了解(wEpoKe)软... 第五分钟了解(wEpoKe)软件透明挂辅助科技(透视)切实教程(2021已更新)(哔哩哔哩);AI辅...
4分钟了解(wepokeai代... 4分钟了解(wepokeai代打)外挂透明挂辅助神器(透视)爆料教程(2026已更新)(哔哩哔哩);...
第2分钟了解(德友汇)外挂智能... 第2分钟了解(德友汇)外挂智能ai辅助代打(透视)辅助教程(2020已更新)(哔哩哔哩);德友汇辅助...
第9分钟了解(Wepoke开发... 第9分钟了解(Wepoke开发)外挂辅助插件安装ai(透视)教你攻略(2025已更新)(哔哩哔哩);...
4分钟了解(wepoker)外... 4分钟了解(wepoker)外挂透明挂辅助ai(透视)力荐教程(2025已更新)(哔哩哔哩);4分钟...
第9分钟了解(WPK工具)外挂... 第9分钟了解(WPK工具)外挂透明挂辅助插件(透视)透明挂教程(2022已更新)(哔哩哔哩);一、W...