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.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage