2

私は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の使用

何かご意見は?

ありがとう。

4

1 に答える 1

0

その行は次のようにすべきではありません:

 $("#qunit-fixture").append('<input type="checkbox" id="IsOtherEmail" /> ');

つまり、'name' ではなく 'id' ですか?

于 2012-09-11T16:25:04.837 に答える