【问题标题】:What is the ideal way to test a service with angular? [closed]用 Angular 测试服务的理想方法是什么? [关闭]
【发布时间】:2021-04-08 13:07:57
【问题描述】:

我是角度测试的新手,我想为我的服务创建测试。

问题是我的服务 (foo) 在其构造函数中注入了另一个服务 (bar)。

所以我应该创建一个模拟吧?模拟酒吧内的每个功能?如果是这样,我需要为我导入的每个包都这样做吗?将我自己的函数编写为模拟函数?

【问题讨论】:

    标签: javascript angular unit-testing angular-test


    【解决方案1】:

    您可以创建模拟/存根或使用 jasmine 间谍。

     export const jobServiceStub: Partial<JobService> = {
       getUser() {
         return {};
       }
     }
    
     describe('SampleService', () => {
      let service: SampleService;  
    
      beforeEach(() => {
        TestBed.configureTestingModule({
          providers: [        
            //replacing service with stub
            { provide: JobService, useValue: jobServiceStub },        
            UtilityService
          ]
        });
        service = TestBed.inject(SampleService);
      });
      
    
      it('should get all data', () => {
        const utilityService = TestBed.inject(UtilityService);    
        const spy = spyOn(utilityService, 'getValues').and.returnValue(2);    
      });
      
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 2010-10-11
      • 1970-01-01
      • 2018-02-27
      • 2018-05-01
      • 2022-01-21
      • 2011-02-18
      相关资源
      最近更新 更多