Unit testing 订阅服务方法未包含在单元测试用例jasmine中
我正在尝试为subscribe方法编写测试用例。 当我用Unit testing 订阅服务方法未包含在单元测试用例jasmine中,unit-testing,jasmine,angular6,karma-jasmine,Unit Testing,Jasmine,Angular6,Karma Jasmine,我正在尝试为subscribe方法编写测试用例。 当我用 ng test --code-coverage true 测试用例正在通过,但代码覆盖率报告中未涵盖subscribe方法 npm run sonar-scanner 有人能帮忙吗?创建一个模拟服务,并将其作为提供者注入组件中。spec.ts: import { of } from 'rxjs'; export class MockService{ validate(){ return of() } quer
ng test --code-coverage true
测试用例正在通过,但代码覆盖率报告中未涵盖subscribe方法
npm run sonar-scanner
有人能帮忙吗?创建一个模拟服务,并将其作为提供者注入
组件中。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
将用我们的MockService
替换组件的服务
,其中我们使用of()
返回一个可观察的,创建一个模拟服务,并将其作为提供者注入组件中。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
将用我们的MockService
替换您的service
组件,其中我们使用of()
返回一个可观察的值。请不要发布代码图像,而是复制粘贴到此处。请不要发布代码图像,而是复制粘贴到此处