Hier ist der Konstruktor der Klasse, für die ich eine Testsuite schreibe (er erweitert mysqli):
%Vor% Die Klasse Config
, die an den Konstruktor übergeben wird, implementiert die in php:
arrayaccess
%Vor%
Wie mache ich das Config
-Objekt? Welchen sollte ich verwenden und warum?
Vielen Dank im Voraus!
Wenn Sie einfach eine Config
-Instanz von einem Array erstellen können, wäre das meine Präferenz. Während Sie Ihre Einheiten isoliert testen möchten, wo es praktisch ist, sollten einfache Mitarbeiter wie Config
sicher genug sein, um sie im Test zu verwenden. Der Code zum Einrichten ist wahrscheinlich einfacher zu lesen und zu schreiben (weniger fehleranfällig) als das äquivalente Mock-Objekt.
Davon abgesehen verspotten Sie ein Objekt, das ArrayAccess
implementiert, genau wie jedes andere Objekt .
Sie können auch at
verwenden, um eine bestimmte Zugriffsreihenfolge festzulegen, aber Sie werden den Test auf diese Weise sehr spröde machen.
Tags und Links php phpunit arrayaccess