ich nach dem besten Weg suchen über die Prüfung der folgenden statischen Methode zu gehen (genauer gesagt eine Lehre Modell verwenden):PHPUnit Mock-Objekte und statische Methoden
class Model_User extends Doctrine_Record
{
public static function create($userData)
{
$newUser = new self();
$newUser->fromArray($userData);
$newUser->save();
}
}
Idealerweise würde ich ein Mock-Objekt verwenden, um sicherzustellen, dass "fromArray" (mit den gelieferten Benutzerdaten) und "save" wurden aufgerufen, aber das ist nicht möglich, da die Methode statisch ist.
Irgendwelche Vorschläge?
Bemerkenswert " Dieser Ansatz funktioniert nur für das Stubben und Mocking von statischen Methodenaufrufen, bei denen Aufrufer und Aufrufer derselben Klasse angehören, weil [statische Methoden sind Tod zur Testbarkeit] (http://misko.hevery.com/2008/12/15/static-methods-are-death-to-testability/). " –
Die Funktion 'staticExpects' wurde ab PHPUnit v4 entfernt. In [this thread on github] (https://github.com/sebastianbergmann/phpunit-mock-objects/issues/137) finden Sie eine Erklärung warum. –
Da wir wissen, dass 'staticExpects' aus der aktuellen Version von PHPUnit entfernt wurde, was ist der alternative Weg dies ohne 'staticExpects' zu erreichen? –