使用jasmine.createSpyObj具有依赖关系的Angular服务进行单元测试

简介: 使用jasmine.createSpyObj具有依赖关系的Angular服务进行单元测试

image.png单元测试代码:

describe('MasterService with Angular jasmine.createSpyObj', () => {
    let masterService: MasterService;
    let valueServiceSpy: jasmine.SpyObj<ValueService>;
    beforeEach(() => {
        const spy = jasmine.createSpyObj('ValueService', ['getValue']);
        TestBed.configureTestingModule({
    // Provide both the service-to-test and its (spy) dependency
        providers: [ MasterService, { provide: ValueService, useValue: spy }]
    });
    // Inject both the service-to-test and its (spy) dependency
        masterService = TestBed.inject(MasterService);
        valueServiceSpy = TestBed.inject(ValueService) as jasmine.SpyObj<ValueService>;
    });
    it('#getValue should return stubbed value from a spy', () => {
        const stubValue = 'stub value';
        valueServiceSpy.getValue.and.returnValue(stubValue);
        expect(masterService.getValue())
          .toBe(stubValue, 'service returned stub value');
        expect(valueServiceSpy.getValue.calls.count())
          .toBe(1, 'spy method was called once');
        expect(valueServiceSpy.getValue.calls.mostRecent().returnValue)
          .toBe(stubValue);
      });
});

image.png

相关文章
|
1月前
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Dept实体类
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Dept实体类
8 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Dao层
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Dao层
10 0
|
1月前
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——测试
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——测试
8 0
|
1月前
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Emp实体类
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Emp实体类
7 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
7 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——applicationContext.xml
javaWeb服务详解(含源代码,测试通过,注释) ——applicationContext.xml
6 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Service层
vjavaWeb服务详解(含源代码,测试通过,注释) ——Emp的Service层
5 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Service层
javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Service层
8 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
7 0
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——Emp实体类
javaWeb服务详解(含源代码,测试通过,注释) ——Emp实体类
7 0