Frage

Ich muss einige HTTP-Komponenten in meiner Delphi-App testen.Ich benutze DUnit und möchte das Testen etwas automatisieren.

Mein Testcode muss also den lokalen HTTP-Server starten, ihn konfigurieren (z. B. in 3 Sekunden auf eine Verbindungsunterbrechung vorbereiten oder eine geringe Bandbreite simulieren oder nach Login / Passwort usw. fragen), meine Komponententests ausführen und HTTP-Server schließen.

Gibt es einige HTTP-Server, die genau für Delphi / DUnit verfügbar sind?

Ich weiß, dass das Mozilla-Team hat ein solcher Server, aber es ist nicht so einfach, es in DUnit zu integrieren.

War es hilfreich?

Lösung

Ich benutze Indys TIdHttpServer sachen im selben Prozess servieren.

Dieser Ansatz ermöglicht es mir zu überprüfen, ob die eingehenden Anforderungen korrekt sind, sowie das Verhalten vom Client aus zu überprüfen.

Außerdem können Sie den Server Testfall für Testfall individuell einrichten, wodurch Ihre Komponententests leichter verständlich werden (was bedeutet, dass Sie nirgendwo anders einen Teil des Tests haben).

Andere Tipps

Sie können Gerätetest / Dunit verwenden, um automatische Integrationstests zu erstellen.Sagen Sie, Sie haben HTTP-Komponenten als HTTP-Client Anrufe an einen Webdienst.Sie können Ihren eigenen Mock-Webservice erstellen, oder nutzen Sie einfach einen öffentlichen Webservice, wie eines von Google oder Amazon.So müssen Sie nur ein Google- oder Amazon-Entwickler-Konto erstellen und einige grundlegende Servicefunktionen zum Testen verbrauchen.

Wenn Sie SOAP-Dienste testen, verwenden Sie SOAPUI, um einen "Mock" -Verhandlung auf der Basis Ihrer WSDL aufrechtzuerhalten. Sie können eine Vielzahl von Antworten (entweder sequentiell oder ein einfaches Scripting zurückgeben lassen, um Antworten auf den Anforderungsgehalt anzupassen.) Ich habe dies getan, indem ich der "Anforderungs-ID" (nur ein GUID) in meiner Anfrage, die von derDunit-Test, zu einer Antwort in der SOAPUI.Es ist eine einfache XPath-Abfrage, um sie anzupassen.

Sie können die "Konserven" -Fehler / Ausnahmen wiedergeben, und natürlich, wenn es nicht läuft, haben Sie den Testfall "Noods Home".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top