jQuery:在测试执行期间未单击元素吗?

时间:2018-09-18 04:57:24

标签: javascript jquery jasmine

describe('When a user selects a single-response Hotspot response', function () {

        it('Then should highlight the selection', function () {
            utils.clickHotspotElementAtIndex(view, 0, function() {
            });
            expect(view.$('.lrn_selected')[0]).toExist();
        });

-------- utils帮助器方法定义如下----------

const utils = _.extend({}, baseQuestionHelper.utils, {
        isReactiveViews: baseQuestionHelper.utils.isReactiveViews(hotspotBundle, 'hotspot'),
        getHotspotElementAtIndex: function (view, index) {
            return view.$('polygon').eq(index).get(0);
        },
        clickHotspotElementAtIndex: function (view, index, callback) {
            syn.click(utils.getHotspotElementAtIndex(view, index), null, callback);
            console.log('clicked on a hotspot');
        }

我的茉莉花测试用例如上所述,其预期的测试流程很简单:

  • 单击索引0处的Hotspot元素
  • 单击此Hotspot元素时,将为其分配新的类lrn_selected
  • 验证此单击的Hotspot元素的类名称为lrn_selected

执行后,确实获得了此调试控制台日志clicked on a hotspot。但是,此脚本将失败,并显示以下错误消息:

  • 未捕获预期存在未定义。这表明热点元素未被点击。

为什么没有点击?

0 个答案:

没有答案