我有这个功能:
this.checkButton = function (buttonName, element, expectedPresent, expectedEnabled) {
var enabledCheck = expectedEnabled ? "enabled" : "disabled";
it('Find a ' + buttonName + ' button and check it is ' + enabledCheck, function () {
expect(element.isPresent()).toBe(expectedPresent);
expect(element.isEnabled()).toBe(expectedEnabled);
});
}
有没有办法可以做到这一点,如果在没有最后两个参数的情况下调用该函数,那么这些参数都默认为true?
答案 0 :(得分:2)
将参数与undefined
进行比较,以了解它们是否存在:
this.checkButton = function (buttonName, element, expectedPresent, expectedEnabled) {
if(expectedPresent === undefined) {
expectedPresent = true;
}
if(expectedEnabled === undefined) {
expectedEnabled = true;
}
var enabledCheck = expectedEnabled ? "enabled" : "disabled";
it('Find a ' + buttonName + ' button and check it is ' + enabledCheck, function () {
expect(element.isPresent()).toBe(expectedPresent);
expect(element.isEnabled()).toBe(expectedEnabled);
});
}
答案 1 :(得分:0)
如果我理解你想要的东西。
尝试在开始功能时说。
expectedPresent = (expectedPresent==undefined) ? true : expectedPresent;
expectedEnabled = (expectedEnabled==undefined) ? true : expectedEnabled;
我希望这会有所帮助。