phy*_*boy 0 javascript testing typescript karma-runner angular
我有一个仅使用Subject的Angular服务,但是我不确定如何为它编写单元测试。
我看到了[this thread] [1],但没有发现它有很大帮助。
我曾尝试嘲笑,next()但我迷失了不少。
您应该监视service.serviceMsg而不是监视service,因为next()方法似乎在serviceMsg主题上。
it('should catch what is emitted', () => {
const nextSpy = spyOn(service.serviceMsg, 'next');
service.confirm(ACTION);
expect(nextSpy).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
编辑:
您还应该更改创建service实例的方式。您在代码中显示的内容仅适用于component实例创建
beforeEach(() => {
TestBed.configureTestingModule({
providers: [MessageService]
});
service = TestBed.get(MessageService); // get service instance
httpMock = TestBed.get(HttpTestingController);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |