我开始使用QUnit了。我有一个以复选框状态为条件的现有逻辑。
function CheckEmailRequirementSatisfied() {
if (isEdit == "false") {
if ($("#EmailId").val() != "" || $("#IsOtherEmail").is(":checked")) {
$("#EmailRequirementSatisfied").val("1");
} else {
$("#EmailRequirementSatisfied").val("");
}
}
}
我有以下模块,包括设置和测试。
module("CheckEmailRequirementSatisfied", {
setup: function () {
$("#qunit-fixture").append('<input id="EmailId" /> ');
$("#qunit-fixture").append('<input id="EmailRequirementSatisfied" /> ');
$("#qunit-fixture").append('<input type="checkbox" name="IsOtherEmail" /> ');
}
});
test("IsOtherEmail true", function () {
isEdit = "false";
$("#EmailId").val("");
$("#EmailRequirementSatisfied").val("test value");
/*
document.getElementById('IsOtherEmail').checked=true;
$("#IsOtherEmail").prop("checked", true);
$("#IsOtherEmail").attr("checked", "checked");
$("#IsOtherEmail").val(true);
*/
CheckEmailRequirementSatisfied();
ok($("#EmailRequirementSatisfied").val() == "1", "Requirements should be set to 1");
});
我已经尝试了测试评论块中的所有选项来设置我的复选框。但它一直没有说它没有被检查过。
使用https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js和http://code.jquery.com/qunit/qunit-1.10.0.js
有什么想法吗?
感谢。
答案 0 :(得分:0)
该行不应该是:
$("#qunit-fixture").append('<input type="checkbox" id="IsOtherEmail" /> ');
即'id'而不是'name'?