Angular单元测试中的.subscribe()
创始人
2024-10-23 22:30:26
0

在进行Angular单元测试中,想要对组件中涉及到的Observable进行测试,而且还需要检测.subscribe()方法的正确性。这时可以采用Angular提供的测试框架中的TestBed来模拟整个组件环境,创建组件的实例,并对其中的Observable进行订阅。以下是代码示例:

1.引入必要的模块和服务

import { TestBed } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { MyService } from './my.service'; import { of } from 'rxjs';

2.创建组件实例

describe('MyComponent', () => { let component: MyComponent; let fixture: ComponentFixture; let myService: MyService;

beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ MyComponent ], imports: [ HttpClientTestingModule ], providers: [ MyService ] }) .compileComponents(); }));

beforeEach(() => { fixture = TestBed.createComponent(MyComponent); component = fixture.componentInstance; myService = TestBed.get(MyService); });

3.模拟Observable和.subscribe()

it('should call .subscribe() on myObservable', () => { const myObservable = of('test data');

spyOn(myObservable, 'subscribe');

myService.getData().subscribe();

expect(myObservable.subscribe).toHaveBeenCalled(); });

以上代码通过创建组件实例和注入服务来模拟整个组件环境,然后创建myObservable的Observable实例,并使用spyOn方法对其.subscribe方法进行拦截,最后调用getData()方法并订阅myObservable,通过expect方法验证.subscribe()是否得到正确的调用。

相关内容

热门资讯

透视好友!wejoker辅助脚... 透视好友!wejoker辅助脚本,we poker辅助器v3.3,手段教程(都是是真的挂)-哔哩哔哩...
透视后台!hhpoker是真的... 透视后台!hhpoker是真的还是假的(透视)开挂辅助技巧(一直真的是有挂)-哔哩哔哩1、游戏颠覆性...
透视真的!wpk德州局怎么透视... 透视真的!wpk德州局怎么透视,智星菠萝可以辅助吗,诀窍教程(本来是真的挂)-哔哩哔哩1、这是跨平台...
透视代打!hhpoker破解工... 透视代打!hhpoker破解工具(透视)开挂辅助神器(切实存在有挂)-哔哩哔哩1、全新机制【hhpo...
透视好牌!菠萝辅助器免费版的特... 透视好牌!菠萝辅助器免费版的特点,hhpoker透视脚本,教程书教程(都是是有挂)-哔哩哔哩1、每一...
透视开挂!hhpoker有没有... 透视开挂!hhpoker有没有辅助挂(透视)开挂辅助插件(确实真的有挂)-哔哩哔哩在进入hhpoke...
透视软件!wpk辅助购买,we... 您好,wepoker是不是有人用挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【1367043...
透视教程!wpk官网下载链接(... 透视教程!wpk官网下载链接(透视)开挂辅助挂(一直是有挂)-哔哩哔哩;1、透视教程!wpk官网下载...
透视透视!模拟器打开hhpok... 透视透视!模拟器打开hhpoker,哈糖大菠萝辅助器,手册教程(本来有挂)-哔哩哔哩1、超多福利:超...
透视德州版!hardrock辅... 透视德州版!hardrock辅助(透视)开挂辅助插件(确实有挂)-哔哩哔哩1)hardrock辅助辅...