2012-02-27 4 views
6

델파이 앱에서 일부 HTTP 구성 요소를 테스트해야합니다. DUnit을 사용하고 테스트에 자동화 기능을 추가하려고합니다.델파이의 단위 테스트 용 HTTP 서버

내 테스트 코드는 로컬 HTTP 서버를 시작하거나 구성 (예를 들어 3 초 내에 연결 끊기를 준비하거나 낮은 대역폭을 시뮬레이트하거나 로그인/암호 등을 묻는 등)해야합니다. 테스트하고 HTTP 서버를 닫습니다.

Delphi/DUnit에서 사용할 수있는 HTTP 서버가 있습니까?

모질라 팀이 such server 인 것을 알고 있지만 DUnit에 통합하기가 쉽지 않습니다.

답변

9

나는 같은 과정에서 물건을 제공하기 위해 Indy의 TIdHttpServer을 사용합니다.

이 방법을 사용하면 들어오는 요청이 올바른지, 클라이언트 쪽에서 동작을 확인하는지 확인할 수 있습니다.

또한 테스트 케이스별로 서버를 개별적으로 설정할 수 있으므로 단위 테스트를 더 쉽게 이해할 수 있습니다. 즉, '테스트'부분을 다른 곳으로는 가지지 않습니다.

0

단위 테스트/DUnit을 사용하여 자동 통합 테스트를 구성 할 수 있습니다. HTTP 클라이언트 인 HTTP 구성 요소가 웹 서비스를 호출한다고 가정 해보십시오. 자신 만의 모의 웹 서비스를 만들 수도 있고, 구글이나 아마존의 웹 서비스와 같은 공용 웹 서비스를 사용할 수도 있습니다. 따라서 Google 또는 Amazon 개발자 계정을 만들고 테스트를 위해 몇 가지 기본 서비스 기능을 사용해야합니다.

0

SOAP 서비스를 테스트하는 경우 SoapUI를 사용하여 WSDL을 기반으로 한 "모의 (mock)"서비스를 구현하십시오. 다양한 응답을 순차적으로 반환하거나 간단한 스크립팅을 사용하여 요청 내용에 대한 응답을 일치시킬 수 있습니다. 요청에서 "요청 ID"(그냥 GUID)를 DUnit 테스트를 SoapUI의 응답에 추가합니다. 그것들을 일치시키는 간단한 xpath 쿼리입니다.

"준비된"오류/예외를 반환 할 수 있으며 실행되지 않을 때는 "아무도 집이없는"테스트 케이스가 있습니다.