Organisieren von PHPUnit-Tests in Namespaces
Ich sehe zwei Möglichkeiten, um PHPUnit-Unit-Tests in einer Namespace-Hierarchie zu organisieren. Was sind die Vor- und Nachteile dieser beiden Ansätze? Gibt es offensichtliche Mängel, die ich nicht in Betracht gezogen habe und die eine offensichtlich bessere Wahl machen würden?
Betrachten Sie eine Beispielklasse wie\SomeFramework\Utilities\AwesomeClass
:
Ansatz 1: Platzieren Sie jede TestCase-Klasse in demselben Namespace wie die abgedeckte Klasse.
\SomeFramework\Utilities\AwesomeClassTest
VorteileIn Übereinstimmung mit dem traditionellen Ansatz zum Schreiben von PHPUnit-Tests.NachteileWeniger Flexibilität.Scheint, das Prinzip der Verwendung von Namespaces zu brechen - unabhängige Tests werden in demselben Namespace gruppiert.Ansatz 2: Platzieren Sie jeden Testfall in einem Namespace, der nach der abgedeckten Klasse benannt ist.
\SomeFramework\Utilities\AwesomeClass\Test
VorteileBietet eine sehr einfache / naheliegende Möglichkeit, mehrere verwandte TestCase-Klassen zu gruppieren, beispielsweise für verschiedene Testsuiten.NachteileKönnte zu einer tieferen, komplexeren Hierarchie führen.