Невозможно щелкнуть Vue Select Box с помощью vue-test-utils
Я не могу "щелкнуть" на этих полях выбора, используя vue-test-utils и Vue 2. Я использую mocha + webpack.
Я определяю это, видя, что visible-change
событие никогда не запускается, как следует при нажатии. Вот как выглядит мой spec-файл:
...
const wrapper = mount(EntityItem, { propsData });
const selectBox = wrapper.find("el-select");
// I tried these:
selectBox.trigger("click");
selectBox.trigger("click.native");
В крайнем случае, если это не сработает, мне придется вручную изменить model
атрибут для имитации изменения компонента.
----ОБНОВИТЬ----
Когда я настраиваю обратный вызов для события щелчка, я вижу что-то, но я не могу "выбрать" что-либо в этом компоненте выбора ввода.
0 ответов
Компонент , который вы используете, не использует select
элемент ввода. Чтобы смоделировать выбор варианта, сделайте что-то вроде этого.
wrapper.findAll('.el-select-dropdown__item').at(1).trigger('click'); // simulates clicking of one of the options
если вы хотите смоделировать щелчок по самому выбранному элементу (чтобы отобразить раскрывающийся список). вы можете сделать следующее.
wrapper.find('.el-select-dropdown').trigger('click');
Приведенный выше ответ Whitespace помог, однако также необходимо, чтобы вы использовали
await Vue.nextTick()
перед вашим заявлением ожидания. Вот так:
wrapper.findAll('.el-select-dropdown__item').at(1).trigger('click');
await Vue.nextTick();
expect(enterResultBtn.is('[disabled]')).toBe(true);
Это позволяет модели DOM обновлять свой цикл, подробнее здесь