Мне нужно выполнить тестирование функции прослушивателя событий, но я никогда не делал этого раньше, и я не могу найти пример где-нибудь об этом. Есть ли у кого-нибудь какие-либо предложения по хорошему пути?Unit Testing Слушатели событий
ответ
Существует не так много, постройте прослушиватель событий, перейдите в макет событие и тест.
@Test
public void testEventListener() {
ActionListener subjectUnderTest = new MyActionListener();
ActionEvent mockEvent = mock(ActionEvent.class);
// Or just create a new ActionEvent, e.g. new ActionEvent();
// setup mock
subjectUnderTest.actionPerformed(mockEvent);
// validate
}
Проблемы могут возникнуть, когда вы будете следовать стандартным образцам для создания обработчиков событий, где вы определяете анонимный класс, который непосредственно взаимодействует с вмещающим классом. Однако не стоит перестраивать такой класс в свой собственный класс и передавать любые зависимости от конструктора, а не неявно из окружающего класса.
Это может быть глупый вопрос, но как мне настроить настройку фальшивого события? Есть ли что-то простое, что я могу использовать в стандартных библиотеках java для этого или для этого требуются внешние библиотеки? – endorphins
Как правило, вы используете насмешливую библиотеку, но если вы не хотите ее использовать, вы можете просто создать экземпляр события напрямую. Я поклонник библиотеки [Mockito] (http://code.google.com/p/mockito/), очень простой в использовании. Если раньше вы не запускали макет объектов в модульном тестировании, вы строго ограничиваете типы тестов, которые вы можете запустить. Я рекомендую [Практическое тестирование модуля с TestNG и Mockito] (http://www.amazon.com/Practical-Unit-Testing-TestNG-Mockito/dp/839348930X) в качестве учебника. – dimo414
Я делал относительно простые модульные тесты и не нуждался в том, чтобы издеваться над объектами, но я слышал об этом. Я ценю руководство, и я обязательно посмотрю на этот учебник. Спасибо за помощь. – endorphins
- 1. Unit Testing Quartz.net Execute()
- 2. Unit Testing RIA Services
- 3. C++ Unit Testing Libraries
- 4. Unit-testing ngResource $ save
- 5. unit testing mock injection
- 6. NLog and Unit Testing
- 7. Android gps unit testing
- 8. Unit Testing Doctrine ODM
- 9. unit testing xsd
- 10. Unit-testing конструктора
- 11. VBA Unit Testing
- 12. Unit Testing WCF Client
- 13. Unit Testing Swagger Output
- 14. Unit Testing FindAsync
- 15. unit testing Coverage Issue
- 16. Java Unit Testing
- 17. IoC Container + Unit Testing
- 18. Unit Testing Mvc6 TagHelpers
- 19. unit testing dotnetopenauth ctp
- 20. Unit Testing a Website
- 21. Unit testing NSURLConnectionDelegate метод
- 22. Методы делегирования Unit-Testing
- 23. Unit Testing Redux Sagas
- 24. Unit Testing CacheManager
- 25. Jasmine unit testing window.onbeforeunload
- 26. Node.js - Unit Testing Middleware
- 27. Unit Testing for GUI
- 28. Unit Testing XQuery
- 29. unit testing angularjs директива
- 30. Спарк Unit Testing
Что слушатели мероприятия? –
Это собственный класс (не анонимный), и он реализует интерфейс, который не является частью стандартных java-библиотек (этот интерфейс напрямую расширяет EventListener). – endorphins