没有通过变量的Qunit测试
我想做一个功能测试,为窗体做一些非常简单的验证。 但是我不知道如何使用qunit而不将vars传递给函数。 这里是我说的没有通过变量的Qunit测试
function validateForm(){ var name = $('#name').val();
var submit = true;
//do some validation
//if submit true
form.submit();
}
所有qunit的例子是我的文档来看一个例子做这样的事情
ok(validateForm('hello'),'Hello is a valid name');
我应该只是修改我的功能还是有办法与这样的设置一起工作。
// EDIT
我选择追求现在正在建立高于当前一个简单地解析形式输入,然后将它们发送作为瓦尔到validateForm()功能的另一功能选项
回答:
我最终做的是以一种允许我在测试中通过变量的方式修改函数。
之前的代码会做这样的事
function validateForm(){ var value1 = $('#someinput').val();
//Do some validation based on these vars
$('#someform').submit();
}
现在,当按钮被按下它去分析给ARGS出来我还添加了一个“测试” ARG所以形式不是另一个函数提交在测试过程中提交。
function parseFormArgs(){ var value1 = $('#someinput').val();
var value2 = $('#otherinput').val();
var test = false;
validateForm(value1,value2,test);
}
function validateForm(value1,value2,test){
var submit = true;
//Do some validation
if(test != true && submit){
$('#someform').submit();
}
return submit;
}
然后我qunit看起来像这样
var testFn = true; test('validateForm()', function(){
equals(validateForm('ExampleVal1','ExampleVal2',testFn), false, 'Such and Such Values should not validate');
...
...
});
回答:
qUnit是否可以访问表单/ UI?我只使用JsTestDriver进行JavaScript测试,但在那里您只测试内部对象逻辑
因此,不是试图读取表单(我不知道您是否可以这样做),您可以做的是获取从表单中的电流值,并通过那些验证功能,如:
function validate(options){ return options.foo === "bar"
}
所以,你可以写不喜欢的东西
var options = {foo:"bar"} var valid = validate(options)
equal(true, valid)
或
一qUnit测试这样的事情?然后,一旦您对该功能感到满意,您可以将其添加到UI中。
以上是 没有通过变量的Qunit测试 的全部内容, 来源链接: utcz.com/qa/266089.html