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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用一个'它'测试两个期望相同的功能相关的知识,希望对你有一定的参考价值。

我是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写单独的测试用例?谢谢

答案

每个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);
})

以上是关于使用一个'它'测试两个期望相同的功能的主要内容,如果未能解决你的问题,请参考以下文章

如何用Python优雅的合并两个Dict

如何比较忽略nans的numpy数组? [复制]

RSpec 测试不允许两个用户使用相同的电子邮件地址

JS两个数组对象去除相同的数据

Python两个字典key相同的值组成新字典?

用SQL查询两个表中相同的数据