간단한 Guava EventBus에 간단한 이벤트 하나와 간단한 수신기 하나가 있습니다. 내 질문은 일단 이벤트가 게시되면 리스너 메소드가 호출되는지 점검 할 테스트 패턴이 무엇인가하는 것입니다.Guava EventBus unit tests
답변
EventBus가 제대로 작동하는지 테스트하는 것은 UNIT 테스트가 아니어야합니다. 라이브러리를 사용하는 장점 중 하나는 (적어도 신뢰하는 라이브러리를 사용하는 경우) 라이브러리 테스트 공급자가 라이브러리 테스트를 작성했기 때문입니다. 따라서 Google 직원이 EventBus를 올바르게 작성했는지 확인하는 데 시간을 낭비하지 마십시오. 시스템의 단위 테스트를 작성하려면 EventBus를 조롱해야하므로 리스너가 호출되지 않습니다. 이것은 메시지 버스를 사용하는 장점 중 하나이며 별도의 애플리케이션 문제를 격리 할 수 있으므로 단위 테스트가 쉬워집니다.
준비가되면 전체 시스템이 함께 작동하는지 테스트하는 통합 테스트가됩니다. 어떤 경우에는 JUnit으로 작성 될 수도 있지만 단위 테스트라고 생각하지는 않습니다. 이렇게하는 방법은 시스템에 따라 다릅니다. Spring 컨텍스트를 JUnit 테스트로로드하거나 애플리케이션을 배치하고 테스트를 실행할 수 있습니다.
이러한 종류의 테스트는 보통 Mockito과 같은 조롱 프레임 워크를 사용하여 수행됩니다. 모의 리스너를 만들고, 이벤트 버스에 등록하고, 이벤트를 발생시키고, 리스너 메소드가 호출되었는지 확인하십시오.
모의어를 만드는 방법과 모의 대화를 확인하는 방법에 대한 매우 기본적인 예제를 찾으십시오. here
나는 mockito를 알고 있는데, 나는 이런 경우에 사용할 수 있다는 것을 몰랐다. 나는 그것에 대해 생각합니다. 많은 사람들. – speedingdeer
잘 모르겠습니다 - EventBus는 조롱 한 객체에 없을 수도있는 @Subscribe 주석에 대해 등록 된 객체를 검사합니다. – PaulJWilliams
- 1. Guava EventBus dispatching
- 2. JAX-WS unit tests
- 3. Lucene Unit Tests
- 4. Guava EventBus + Hazelcast Spring 구성
- 5. Guava EventBus : 특수 효과가없는 구독?
- 6. Typescript : unit tests and dependencies
- 7. Python - Twisted and Unit Tests
- 8. NHibernate Unit Tests 여름 방영
- 9. firefox addon-sdk unit-tests
- 10. Guava EventBus : 이벤트 처리기에서 결과를 반환하는 방법
- 11. Google Guava EventBus 객체는 언제 가비지 수집됩니까?
- 12. Guava EventBus 가입자로부터 예외 예외 발생
- 13. 스칼라 유형 삭제 (Guava EventBus 사용)
- 14. 오픈 소스 프로젝트에서 C++ unit-tests 샘플
- 15. angularjs unit tests - 서비스 내 모의 서비스
- 16. Grails Unit Tests : 왜이 문장은 실패합니까?
- 17. DB-intense "unit-tests"하드웨어가 싼 경우
- 18. visual studio 2010 C# unit tests
- 19. android unit tests/functional tests를 어떻게 실행합니까?
- 20. Silverlight에서 스레드 이름 바꾸기 Unit Tests
- 21. "Unit Tests 1"하지만 목록이 비어 있음
- 22. argparse unit tests : 도움말 메시지를 표시하지 않음
- 23. Google Guava Eventbus 및 스윙 모달 대화 상자
- 24. Coffee Script Type Error in Mocha.js unit tests
- 25. Visual Studio Unit Tests : dll이 신뢰할 수 없습니다.
- 26. tcltest unit tests : 제약 조건이 코드 재사용을 가능하게하는지 확인하는 방법
- 27. SonarQube의 "unit tests coverage"위젯의 "unit test success"섹션이 표시되지 않는 이유
- 28. 주석 대 인터페이스 구아바에서 EventBus
- 29. guava - guava 함수가 지원됩니다.
- 30. eventbus 소비자
코드가 조건부로 EventBus에 게시되는 경우 테스트하는 동안 EventBus가 실제로 올바른 매개 변수로 원하는 이벤트를 시작했는지 확인할 수 있어야합니다. –