jQuery: элемент не нажимается во время выполнения теста? - PullRequest
0 голосов
/ 18 сентября 2018
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();
        });

-------- использует вспомогательные методы, описанные ниже ----------

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

Мой тестовый пример с жасминомкак указано выше, ожидаемый поток тестов прост:

  • щелкните элемент Hotspot с индексом 0
  • при щелчке по этому элементу Hotspot у него будет новый класс lrn_selectedназначенный.
  • Убедитесь, что у этого выделенного элемента Hotspot есть имя класса как lrn_selected

При выполнении я получил этот журнал консоли отладки clicked on a hotspot.Но этот скрипт завершится ошибкой со следующим сообщением об ошибке:

  • Uncaught Ожидается, что undefined существует.что говорит о том, что элемент горячей точки не был нажат.

Почему он не был нажат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...