2016-09-14 7 views
0

아래 JS 파일에 코드가 있습니다.Qunit 테스트 케이스에서 'checked'속성을 읽을 수 없습니다.

initialize: function() { 

     if (!$("#Res").is(':checked')) 
     { 
      $("#Res").attr('checked', true); 
     } 
} 

Qunit.js 및 blanekt.js를 사용하여 테스트 케이스를 실행하려고했을 때. "나를 검사 할 수 없습니다 '라는 오류가 나타납니다. 누구든지이 문제를 해결하거나 테스트 사례를 다시 작성하도록 도와주십시오. Jquery 1.4.1.js 버전을 사용하고 있습니다. Jquery의 버전과 관련된 문제입니까? 당신이 null 가지고 올 경우

$("#Res")

그것이 당신의 통제가 없음을 의미합니다 :

test("initialize test", 1, function() { 
    $('<input>').appendTo("body"); 
    $('<select>').appendTo("body"); 
    $('<input>', { type: "checkbox", checked: true, id: "Res"}).appendTo("body"); 
    var result = mydomain.initialize(); 
    equal(undefined, result, "passed"); 
    $('input, select').trigger("blur");  
    ok(true, "blur event called"); 
    $('input, select').trigger("change"); 
    ok(true, "change event called"); 
    $("input").remove(); 
    $("select").remove(); 
}); 

답변

0

옵션 1.

브라우저의 개발 도구를 사용하여 다음 명령을 실행 당신이 예상대로 창조되었습니다.

옵션 2.

옵션 1은 입력이 생성되기 전에 당신이 initialize 함수를 호출 할 수있는 좋은 경우.

로드 된 페이지의 소스를보고 결과 HTML을 게시하지 않았기 때문에 어떤 경우에는 도움이되지 않습니다.

옵션 3.

확인란 라이브러리는 일반적으로 CSS를 사용하고 그들이 초기화 한 후 실제 체크 박스의 입력을 숨 깁니다. 사용 가능한 이벤트 나 속성이 있는지 확인하여 상태를 확인해야합니다.