首页 > 解决方案 > jQuery:测试执行期间未单击元素?

问题描述

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');
        }

我的 jasmine 测试用例如上所写,其预期的测试流程很简单:

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

为什么没有点击?

标签: javascriptjqueryjasmine

解决方案


推荐阅读