使用Jasmine模拟KendoUI组件

时间:2017-09-21 21:32:27

标签: kendo-ui jasmine jasmine-jquery

我有一个剑道组合框。 在其中一种方法中,我从组合框中获取值。 是否可以使用jasmine模拟kendoComboBox。

 var $categoryComboBox = $('#Category').data('kendoComboBox');
 var selectedCategory = categoryComboBox.dataItem($categoryComboBox.select());

我的茉莉花测试案例类似于

var combo = spyOn($.fn, "data").and.returnValue(dummyElement);
                        var selectedCat = spyOn($.fn, "select").and.returnValue("1");
                        var selectedItem = spyOn(combo, "dataItem").and.returnValue({ 'ID': '1', 'ClaimTypeCode': 'WW' });

我不确定我应该指定什么作为dummyElement才能工作。

由于

1 个答案:

答案 0 :(得分:1)

听起来你还没有构建用于单元测试的JavaScript。您应该将DOM与代码分开,这样您就可以独立于DOM来测试代码。

看一下KendoUI MVVM library,因为这允许你设置一个视图模型(它对DOM一无所知),将它绑定到HTML元素和Kendo小部件,让你可以自由地测试视图模型容易。

现在设置JavaScript的方式将使单元测试非常困难。我唯一能想到的是将从Kendo小部件中获取值的代码与使用该值执行某些操作的代码分开,然后测试后者,传入要测试的值。仍然不是构建它的正确方法,但它现在可以工作。