Organizowanie testów PHPUnit w przestrzeniach nazw

Widzę dwie opcje organizowania testów jednostek PHPUnit w hierarchii przestrzeni nazw. Jakie są zalety / wady tych dwóch podejść? Czy są jakieś oczywiste wady, których nie brałem pod uwagę, które byłyby oczywistym lepszym wyborem?

Rozważ przykładową klasę\SomeFramework\Utilities\AwesomeClass:

Podejście 1: Umieść każdą klasę TestCase w tej samej przestrzeni nazw, co klasa objęta.

\SomeFramework\Utilities\AwesomeClassTest
ZaletyZgodnie z tradycyjnym podejściem do pisania testów PHPUnit.NiedogodnościMniej elastyczności.Wydaje się łamać zasadę używania przestrzeni nazw - niepowiązane testy są pogrupowane w tę samą przestrzeń nazw.

Podejście 2: Umieść każdą TestCase w przestrzeni nazw nazwanej klasą objętą.

\SomeFramework\Utilities\AwesomeClass\Test
ZaletyZapewnia bardzo łatwy / oczywisty sposób grupowania wielu powiązanych klas TestCase razem, np. Dla różnych zestawów testów.NiedogodnościMoże skutkować głębszą, bardziej złożoną hierarchią.

questionAnswers(3)

yourAnswerToTheQuestion