【发布时间】:2014-02-28 19:18:49
【问题描述】:
我正在使用 uitest.js(内置 Jasmine.js)来测试我们的 Kendo UI Mobile 应用程序。我正在显示一个操作表并以编程方式选择选项。这在应用程序中可以正常工作,但会引发测试失败的错误。
我正在使用这样的操作表:
<ul data-role="actionsheet" id="marketplace-price-actions" >
<li class="km-actionsheet-title">Select Price</li>
<li><a href="#" data-action="setPriceFilter('3')">$$$</a></li>
<li><a href="#" data-action="setPriceFilter('2')">$$</a></li>
<li><a href="#" data-action="setPriceFilter('1')">$</a></li>
</ul>
在我的规范中,我选择了如下选项之一:
$("#marketplace-price-actions li a").eq(2).mousedown().mouseup();
这可行,但会引发以下错误:
TypeError: "undefined is not a function"
我创建了一个 jsfiddle,在 http://jsfiddle.net/zkent/DD6vj/2/ 上显示它。请务必打开控制台。
编辑根据选择的答案,错误来自将值传递给函数。我选择创建单独的回调。见http://jsfiddle.net/zkent/DD6vj/4/。
【问题讨论】:
-
顺便说一句,我正在使用 .mousedown().mouseup() 因为显然 kendoui 正在捕获 .click() 并以不同方式处理它。
-
我们究竟在控制台中寻找什么?
-
控制台显示错误
-
可能你链接错了demo;这个只显示一个按钮
-
我已经更新了上面的链接。谢谢。
标签: javascript jquery kendo-ui jasmine kendo-mobile