Я пишу тесты в приложении vue (используя Jest). При тестировании определенного компонента мне нужно вызвать событие изменения для флажка (для которого я использую BFormCheckbox
).
Когда я выбираю флажок с помощью селектора, фактический флажок оценивается в ('.custom-control-input'
), Я могу получить тест ниже, чтобы пройти. Тем не менее, я хотел бы использовать имя фактического компонента (BFormCheckbox
), за которым, как мне кажется, было бы легче следовать. Есть ли способ сделать эту работу?
it('is triggered by clicking a phase checkbox', () => {
// I would like to write:
// const phaseCheckbox = wrapper.find(BFormCheckbox);
// However, I can only get the following to work:
const phaseCheckbox = wrapper.find('.custom-control-input');
// this is true for both selectors
expect(phaseCheckbox.exists()).toBe(true);
phaseCheckbox.trigger('change');
// this fails for wrapper.find(BFormCheckbox)
expect(togglePhaseSpy).toHaveBeenCalled();
});