Я искал документы и Google и изо всех сил пытаюсь найти солидные ссылки на то, как нужно писать тест E2E для событий ngMouseenter
. Угловые инструменты E2E для тестирования имеют element(<selector>).click()
, но ничего, насколько я могу видеть для других типов событий.Нет способа проверить ngMouseenter?
В моем случае поведение mouseenter (и mouseleave) вызывает поведение, которое я хотел бы проверить, и я полагаю, что другие имеют аналогичные варианты использования. Есть ли способ сделать это?
[править]
Я нашел расширение для сценария бегуна угловых здесь на SO: AngularJS: how to invoke event handlers and detect bindings in tests
Это позволяет мне делать:
jqFunction(<selector>, "mouseenter")
и прекрасно работает.
К сожалению, это решение не похоже на работу, хотя я точно не знаю, почему. Тем не менее, я нашел полезное расширение здесь на SO, что позволяет мне делать то, что я ищу: http://stackoverflow.com/questions/17575768/angularjs-how-to-invoke-event-handlers-and-detect -интеграция-в-тестах/17807007 # 17807007 – cmw
Хорошее место. Увидев это, я думаю, что понимаю, почему мой не работает, а другие, такие как связанный, делают. Внутри моего 'query',' selected' есть объект jq из jQuery lib, предоставленного внутри сценария (1.8.2 в моем случае). Когда я запускаю событие на этом, он запускает обработчики, прикрепленные в кеше для этого экземпляра jQuery. Ссылка показывает, как получить экземпляр jQuery из фактического приложения (это еще больше привязывает тесты к приложению) и позволяет вам запускать, как вы делали это из собственного приложения. Я все еще немного смущен, почему 'click' будет работать, но' mouseenter' не будет, хотя. – Andyrooger