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ą.