我正在尝试为Subscribe方法编写测试用例。 code to check
当我用
测试时ng test --code-coverage true
测试用例通过,但是在代码覆盖率报告中,订阅方法未涉及
npm run sonar-scanner
有人可以帮忙吗?
答案 0 :(得分:0)
创建一个模拟服务,并将其作为提供者注入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()
返回一个可观测对象