javascript - Jasmine 测试用例的剑道 UI 问题

标签 javascript kendo-ui

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

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

最佳答案

在剑道中,如果您两次加载小部件,那么 mask 将被移除。 因此,在加载时检查是否应用了屏蔽。

    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

关于javascript - Jasmine 测试用例的剑道 UI 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42438268/

相关文章:

javascript - Yii 如何要求用户在 CStarRating 中确认他的选择

javascript - 如何在 react.js 中实现 jszip

twitter-bootstrap - 有没有集成Kendo UI和Bootstrap的框架?

javascript - jQuery:如何更改点击事件的数据绑定(bind)?

javascript - 当变量值有空格时如何在kendo UI的itemTemplate中渲染JS变量

angularjs - 在 AngularJS 中从 Kendo TreeView 删除到 div

javascript - 当前面有一个可选字符时,我如何强制某些字符必须存在?

javascript - 在构造函数中声明变量有什么用

jquery - 如何使用 html 帮助程序为 kendotreeview 选择获取 Kendo 网格

JavaScript - 拖动和放置事件未触发