我正在尝试编写一个测试来验证页面大小的更改,以运行在类构造函数中声明的可观察的订阅方法,如下所示:
this.subject
.asObservable()
.debounceTime(500)
.filter(Boolean)
.subscribe((pageSize: number) => {
this.load({...params, pageSize: pageSize})
})
并提供一种更改页面大小的方法:
public onPageSizeChange(size: number): void {
this.page = 1;
this.subject.next(size);
}
在我对该组件的测试中:
it('subject test', () => {
spyOn(component, 'onPageSizeChange').and.callThrough();
spyOn(component, 'load');
component.onPageSizeChange(50);
expect(component.onPageSizeChange).toHaveBeenCalled(); //pass
expect(component.load).toHaveBeenCalled(); //fail
});
但是不幸的是,即使我在测试组件中为component.subject创建了新的订阅者,也没有调用我的订阅。你看到我在这里想念的吗?