我正在使用Javascript来执行GUI操作来编写自动化测试用例。我正在编写一个函数来处理要测试的软件上的一些基本“初始化”操作,但我希望可以选择不必将每个参数都放入参数中。
所以我有一个基本上可以做到这一点的功能:
function initializeApp(arg1,arg2,arg3,arg4)
{
action1(arg1);
action2(arg2);
action3(arg3);
action4(arg4);
}
但是可以说我不想执行动作4,现在“ action4”块中包含的代码将无法处理没有arg4输入的情况,并且会崩溃。因此,我想解决该问题的惯用方式是创建一堆ifandelse if语句,如果未定义该参数,它们实际上将跳过不同的代码块。这是一个例子:
function testIES(configFile, recordFile, overwrite, scriptFile)
{
if (arg1 == undefined)
{
action2(arg2);
action3(arg3);
action4(arg4);
} else if (arg2 == undefined)
{
action1(arg1);
action3(arg3);
action4(arg4);
} else if (arg3 == undefined)
{
action1(arg1);
action2(arg2);
action4(arg4);
} else if (arg4 == undefined)
{
action1(arg1);
action2(arg2);
action3(arg3);
}
}
但是,这种方法有一个明显的缺陷,即如果我希望能够排除一个以上的论点,则需要提出“动作”的每种组合。如果其他任何人想要这样做也不是非常用户友好的,因为他们必须知道不要遗漏一个以上的论点。那么,我最好的选择就是简单地提出所有不同组合吗?或者,还有更好的方法?当然,有更好的方法。
吃鸡游戏
青春有我
相关分类