2011-10-10 3 views
4

테스트 목적으로 XMPP 서버를 조롱해야합니다. 내 현재 의도는 로컬 XMPP 서버를 실행하고 거기에 내 테스트 코드를 묶는 것이지만, 이미 존재하는 XMPP 조롱 라이브러리를 알고있는 사람이 있는지 궁금합니다.XMPP 서버 조롱을위한 제안

+1

이것이 유용한 지 모르지만 [성장 지향 객체 지향 소프트웨어, 테스트 가이드] (http://www.growing-object-oriented-software.com/)에서 저자에게 예제를 제공합니다 XMPP를 사용하는 응용 프로그램을 테스트하고, 조롱 한 것보다 OpenFire 서버를 시작하기로 결정했습니다. 할 수 있으면 비동기식 응용 프로그램을 테스트하는 방법에 대해서도 많이 이야기하고있는 사본을 얻으십시오. ** ** ** ** ** ** ** 매우 좋았습니다. – Augusto

답변

3

이 도구는 사용하는 도구에 따라 다소 다를 수 있지만 Smack에서는 모의 서버 역할을하는 고유 한 Connection 클래스를 만들 수 있습니다. 이것은 Smack에 대한 테스트 케이스 내에서 수행됩니다.

기본적으로 회신 IQ 또는 메시지 패킷을 연결에 제공 한 다음 API를 통해 전화를 겁니다. 그러면 미리 설정된 패킷이 결과로 반환됩니다. 한 가지 고려해야 할 것은 XMPP의 비동기 특성이며 테스트 서버가 동일한 방식으로 작동하는지 확인해야합니다.

다른 XMPP 라이브러리는 단위 테스트를 가능하게하는 몇 가지 유사한 접근법을 제공 할 수 있습니다.

반면에 완전한 통합 테스트 시나리오를 실행하려는 경우 로컬 서버가 올바른 방법이라고 생각합니다.

3

전체 XMPP 서버를 성공적으로 조롱하려면 기본적으로 XMPP 서버가 필요합니다. 개인적으로 전체 테스트를 수행하는 가장 신뢰할 수있는 방법이라고 생각하지만 필자는 자체 포함 된 코드 조각에 대해 좀 더 구체적인 테스트를 사용합니다.

당신은 흥미로운이 책의 장을 찾을 수 있습니다

, Remko 아마 내가 알고있는 대부분의 테스트에 집착하는 사람이며, 그것은 클라이언트 개발을 자신의 최근 경험에서 쓴 : 당신이 소유 http://el-tramo.be/blog/beautiful-xmpp-testing

+0

읽으십시오. http://martinfowler.com/articles/mocksArentStubs.html 특히 "Mock과 Stubs의 차이점"부분은 확실히 도움이 될 것입니다. 내 마음에 몇 가지 명확히 명확히 –

1

만 모의 유형 - 검색 이 기사는 Freeman n co.에 의해 작성되었습니다.

아이디어는 사용자가 제어하는 ​​역할 만 모방해야한다는 것입니다. 이 경우 XMPP 서버의 인터페이스는 사용자가 제어하는 ​​인터페이스가 아닙니다. 따라서 응용 프로그램에 XMPP 서버가 만족하는 &이 필요한 역할 (인터페이스)을 정의하십시오.

더 간단한 인터페이스로 끝낼 수 있습니다. SendTo (사용자, 메시지). 그런 다음 XMPP 서버에 해당 역할에 맞는 어댑터를 작성해야합니다. 이 것은 XMPPServer 선택과 관련된 모든 기이함을 처리합니다.

이 간단한 인터페이스는 변경을 모방하고 복원하기가 훨씬 쉽습니다. HTH

관련 문제