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.
Как бы вы справились с этим?