2010-11-18 10 views
0

Mein Programm (Server) verbindet sich mit einem Client durch einige Middleware.
Ich habe eine Midle-Ware Initialisierungsfunktion in meinem Programm gemacht.Wie Einheit Test Maschine Kontrolle Funktion oder Middleware Kontrolle Funktion

init_middleware() 
{ 
    if (middle-ware can not started) // then middle-ware throw exception 
    return exception; 
    else 
    return success; 
} 

Wie kann ich Unit init_middleware Funktion testen?

Ich denke, init_middleware Funktion hat nur einen Fehler Bedingung, wenn die Middleware nicht gestartet werden kann. Aber ich kann diese Bedingung nicht in einem Komponententest passieren lassen.

Vielen Dank.

Antwort

3

Es hängt davon ab, was Sie testen möchten.

Testen Sie die init_middleware() Funktion

Wenn Sie die init_middleware() Funktion testen wollen, ist eine Option, ein Mockmiddle-ware Objekt an die Funktion zur Verfügung zu stellen. Das Mock-Objekt gibt die Werte zurück, die Sie benötigen, um die Funktion vollständig zu cover.

Testen Sie die Middleware-Objekt

Wenn Sie das middle-ware Objekt selbst testen möchten, gibt es wirklich nicht viel zu tun, aber tatsächlich das reale Objekt verwenden. Es würde nicht ein Unit-Test genannt werden, sondern ein integration oder sogar system Test.

+1

Ich möchte den ersten Fall testen. Ich werde Mock finden und studieren. Danke für Ihre Hilfe. Einen schönen Tag haben ~ – cardbt

0

In strengen Unit Test Bedingungen sollten Sie dies nicht tun. Middleware ist eine externe Ressource, genau wie Ihre Festplatte, Netzwerk sogar Datenbanken. Da diese Dinge außerhalb der Grenzen Ihres Codes liegen (den Sie testen), sollte ein echter Komponententest solche Dinge nicht enthalten.

Ersetzen Sie den Middleware-Zugriffscode durch einen Stub, oder wenn Sie eine tatsächliche Rückmeldung benötigen, verwenden Sie Mocks, wie Lieven vorgeschlagen.

+0

Danke, Gerrie Schenck! Einen schönen Tag noch :) – cardbt