1

节省() { .....

this.saveSelectedOnes();

..... }

我已经为 saveSelectedOnes() 方法编写了一个测试用例。在为 save 方法编写测试用例时,我们如何跳过 saveSelectedOnes() 方法调用?

4

1 回答 1

1

取决于保存方法是否应该返回一些东西。在无效的情况下:

  it('should call function', () => {
    const spy = spyOn(service, 'save'); 
    expect(service.save).toHaveBeenCalled(); 
  });

如果需要模拟 save 方法的返回数据:

  it('should returns correct stuff', () => {
    const spy = spyOn(service, 'save').and.returnValue({status: 'saved}); 
    expect(service.save).toHaveBeenCalled(); 
  });

如果需要在方法上测试参数:

  it('should test parameters', () => {
    const spy = spyOn(service, 'save');
    expect(service.save).toHaveBeenCalledWith('whatever parameter'); 
  });

同样,如果您需要测试是否this.saveSelectedOnes()已在方法内调用save(),您也可以为该方法创建一个 spy。

于 2018-10-23T07:02:50.987 回答