我是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写单独的测试用例?
谢谢
答案 0 :(得分:1)
每个it
应该是一个单独的案例。因此,如果您想分别测试真假变体,则不能将它们放在同一个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);
})