Für den folgenden Code
%Vor% Diese Zeile stellt automatisch sicher, dass beim Aufruf der Methode search
$searchConfig
Parameter enthalten sein müssen. In diesem Fall müssen wir total übereinstimmendes $searchConfig
bereitstellen, aber manchmal ist es schwierig, wenn es ein Array oder ein Objekt ist.
Gibt es irgendeine Möglichkeit, PHPUnit eine bestimmte Methode aufrufen zu lassen, um zu bestätigen, dass Argumente in einer Methode übergeben werden, wie wir wollen?
Zum Beispiel kann ich eine Closure-Funktion erstellen, um sie wie folgt zu bestätigen, anstatt ->with()
method
Sie können ->with($this->callback())
verwenden und einen Abschluss übergeben, um komplexere Assertionen für das Argument auszuführen.
Aus den PHPUnit Docs
Die callback () - Einschränkung kann für komplexere Argumente verwendet werden Überprüfung. Diese Einschränkung erfordert nur einen PHP-Callback Streit. Der PHP-Callback erhält das zu verifizierende Argument als sein einziges Argument und sollte TRUE zurückgeben, wenn das Argument übergeben wird Verifikation und sonst FALSE.
Beispiel 10.13: Komplexere Überprüfung von Argumenten
getMock ('Observer', Array ('reportError'));
%Vor%
Ihr Test würde also lauten:
%Vor%Tags und Links unit-testing php phpunit