我正在尝试为subscribe方法编写测试用例。 code to check
当我测试时
ng test --code-coverage true
测试用例正在传递,但在代码覆盖率报告中,订阅方法未涵盖
npm run sonar-scanner
任何人都可以帮忙吗?
创建一个模拟服务并将其作为提供者注入component.spec.ts
:
import { of } from 'rxjs';
export class MockService{
validate(){
return of()
}
queryUser(){
return of({username: 'myUser'})
}
}
然后注入
providers : [
{provide: YourActualService , useClass: MockService}
]
然后将其测试为:
it('should initilize user name',()=> {
component.token = "123";
fixture.detectChanges();
expect(component.uname).toBe('myUser')
})
useClass
将用我们的service
替换你的MockService
组件,其中我们使用of()
返回一个可观测量