Angular Jasmine如何测试if()返回;在一个功能

问题描述 投票:0回答:2

我打算测试一个函数如下:

myFunction(input) {
  if (...) {
    return;
  } else {
    do something
  }
}

如何测试条件是返回?

it('should', async(() => {
  spyOn(component, 'myFunction')
  // ????
}));

谢谢

angular typescript unit-testing jasmine karma-jasmine
2个回答
1
投票

如何测试if()返回;在一个功能

您没有使用间谍来确定函数的内部。你监视参数并返回值。您可以使用spy on来确定函数是否为给定输入返回undefinedreturn;的隐式值)。

如果您想知道特定的行返回已经过测试,则需要使用覆盖率报告。


1
投票

如果没有实际代码,很难编写代码示例供您使用。如果你想测试if部分函数的返回,逻辑将是这样的:

  1. 操纵if测试中的变量,使它们评估为true。这可能需要使用间谍,具体取决于if测试中的内容。
  2. it街区内有类似expect(component.myFunction()).toBe(undefined);的东西

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.