2012-09-11 19 views
2

我開始使用QUnit。我有現有的邏輯是有條件的複選框狀態。設置用於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.jshttp://code.jquery.com/qunit/qunit-1.10.0.js

有什麼想法?

謝謝。

回答

0

難道不應該行:

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

即 '身份證',而不是 '名'?

+0

這樣做。我看了看,看起來像100次,並沒有看到。 謝謝。 – JoshuaMayHome