Пусть (насмешливый) переход fini sh как можно скорее внутри v-меню в модульном тесте vuetify - PullRequest
1 голос
/ 08 февраля 2020

v-menu использует внутренний переход, чтобы показать данный элемент, когда активатор активирован. Мы просто хотим проверить, отображается ли элемент меню после того, как активатор нажал на него.

В нашей настройке у нас есть компонентный тест с использованием Vue Test Utils и выполните:

const wrapper = createWrapper(...)
expect(wrapper.contains('.my-class')).toBe(false) // the Element is not there in the beginning

clickTheTriggerElement(wrapper) // trigger v-menu to show
await wrapper.vm.$nextTick()

expect(wrapper.find('.my-class').isVisible()).toBe(true) // fails

This терпит неудачу, потому что переход, используемый v-menu, еще не закончен. (Это будет после setTimeout (...), но это менее приемлемо).

Vue Test Utils описывает это как распространенную проблему, а предоставляет решение , которое кажется работа для простых vue. js переходов. (Они используют макет для Transition для немедленного рендеринга.) К сожалению, это не работает с внутренними переходами vuetify.

Как бы вы справились с этим?

...