我是 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);
})
关于javascript - 使用一个 'it' 测试两个相同功能的期望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48074580/