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');
});
我在对函数进行单元测试时遇到了一些困难。我在这些事情上是新手,我不知道我能做什么。 我必须要那些 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');
});