Angular Jasmine 测试 - 从数字中删除子字符串

Angular Jasmine testing - substring remove from number

我在对函数进行单元测试时遇到了一些困难。我在这些事情上是新手,我不知道我能做什么。 我必须要那些 2 if.

有什么建议吗?谢谢。

我认为你的问题是 jasmine.createSpy(phoneNumber);,因为这个方法正在测试中,我们不应该窥探它,而是实际调用它的实现。

尝试以下操作:

it('should remove outside prefix', () => {
  const dialingOptions = {
    reqLongDistPrefix: 10, reqOutsidePrefix: 11, dialLongDistanceLength: 12
  } as any;
  coreSvc.getCCDef = jasmine.createSpy().and.returnValue({ DialingOptions: dialingOptions });
  let phoneNumber = '1011129999';
  // !! Remove the following line !!
  // component.removeOutsidePrefix = jasmine.createSpy(phoneNumber);
  const modifiedPhoneNumber = component.removeOutsidePrefix(phoneNumber);
  // !! below is not a good assertion, you can remove it
  // expect(Object.keys(dialingOptions).length).toBe(3);
  expect(modifiedPhoneNumber).toBe('insert what you expect it to be here');
});