使用一个'它'测试两个期望相同的功能

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

我是Jasmine的新手。我面对这个特殊问题如下: - 假设我要测试的代码是:

myTestFunction: function () {
  if (this.field) {
    return true;
  }
  else
     return false;
}

测试用例:

it('myTestFunction', function () {
   this.obj.field = true;
   expect(obj.myTestFunction() ).toEqual(true);
   this.obj.field = false;
   expect(obj.myTestFunction() ).toEqual(false);
})

现在,如果我的第一个expect失败,整个测试用例失败,我的其他expect甚至没有考虑。有没有办法,如果其中一个期望失败,另一个工作正常,测试用例显示一个期望失败和其他通过,没有为if和else写单独的测试用例?谢谢

javascript jasmine
1个回答
1
投票

每个it应该是一个单独的案例。因此,如果您想分别测试true和false变体,则不能将它们放在相同的it中:

it('myTestFunction true', function () {
  this.obj.field = true;
  expect(obj.myTestFunction() ).toEqual(true);
})

it('myTestFunction false', function () {
  this.obj.field = false;
  expect(obj.myTestFunction() ).toEqual(false);
})
© www.soinside.com 2019 - 2024. All rights reserved.