关于Jasmine测试用例的kendo UI问题

时间:2017-02-24 12:08:09

标签: javascript kendo-ui

我们使用了带有HTML5和JSON文件的Kendo UI。对于单元测试已经编写了Jasmine测试用例。当应用了kendo小部件以获得更多控件时,但第二个是未定义的。

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个规范的序列,那么第一个规范将被执行。即网格将变为未定义,并且$ Phone将在更改测试用例的序列后包含值。第一种情况是在Load()成功执行后写的,第二种情况是失败的。

1 个答案:

答案 0 :(得分:1)

在kendo中,如果您加载小部件两次,则将删除屏蔽。 因此,在加载时检查是否应用了掩蔽。

    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