Kendo ui 使用Jasmine模拟KendoUI组件

Kendo ui 使用Jasmine模拟KendoUI组件,kendo-ui,jasmine,jasmine-jquery,Kendo Ui,Jasmine,Jasmine Jquery,我有一个剑道组合框。 在其中一种方法中,我从组合框中获取值。 有没有可能用茉莉花来模仿剑道密室 var $categoryComboBox = $('#Category').data('kendoComboBox'); var selectedCategory = categoryComboBox.dataItem($categoryComboBox.select()); 我的jasmine测试用例类似于 var combo = spyOn($.fn, "data").and.return

我有一个剑道组合框。 在其中一种方法中,我从组合框中获取值。 有没有可能用茉莉花来模仿剑道密室

 var $categoryComboBox = $('#Category').data('kendoComboBox');
 var selectedCategory = categoryComboBox.dataItem($categoryComboBox.select());
我的jasmine测试用例类似于

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' });
我不确定应该将什么指定为DummeyElement以使其工作


谢谢

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

看一看,因为这允许您设置视图模型(对DOM一无所知),将其绑定到HTML元素和Kendo小部件,让您可以轻松地测试视图模型


现在设置JavaScript的方式将使单元测试变得非常困难。我能想到的唯一一件事是将从剑道小部件获取值的代码与使用该值进行操作的代码分开,然后测试后者,传递您想要测试的值。仍然不是构造它的正确方法,但它现在会起作用。

有什么需要我继续的输入吗?谢谢你的输入,是的,这是现有的生产代码,我最近加入了这个项目,代码使用jquery进行广泛的DOM操作,所以我很难分离出单元测试,我现在正在重构现有代码,并使用Kendo MVVM来实现更好的性能structure@sajeshNambiar祝你好运。我也处在同样的位置,所以要知道你的感受!