2017-02-24 80 views
3

我們使用Kendo UI與HTML5和JSON文件。對於單元測試已經寫了Jasmine測試用例。當已經將kendo小部件應用於更多控件時,但第二個未定義。茉莉花測試案例中的劍道UI問題

describe("Test cases", function() { 
    beforeAll(function (done) { 
     //Called Load method of a page 
    }); 

    it("Test Grid data", function (done) { 
     var grd = jq("#grdOne").data("kendoGrid"); 
     var row = grd.dataSource.data(); 

     //tested row 
     done(); 
    }); 

    it("Test Phone number", function (done) { 
     var $Phone = jq("#txtPhone").data("kendoMaskedTextBox");//$Phone is Undefined 
     done(); 
    }); 
}); 

如果我改變的2種規格的序列,那麼第一個得到executed.An即電網會未定義和改變測試用例的序列之後$ Phone將包含一個值。第一種情況是在Load()成功執行並且第二種失敗後寫入的。

回答

1

在kendo中,如果您兩次加載小部件,那麼masking將被刪除。 因此比裝載時檢查是否應用了遮罩。

it("Test Phone number", function (done) { 
     var $Phone = jq("#txtPhone"); 
     if(!$Phone.data("kendoMaskedTextBox")) { 
      $Phone.kendoMaskedTextBox({ 
       mask: "000-00-0000" 
      }); 
     } 
     $Phone.data("kendoMaskedTextBox").enable(true); 
    } 
    ); 

有關詳情,請聯繫: http://docs.telerik.com/kendo-ui/troubleshoot/troubleshooting-common-issues