Структура каталогов пакетов Symfony 2.0, как правило, имеет каталог Tests
, где должны быть размещены тесты.
Acme
-> SomeBundle
-> Controller
-> Entity
-> Service
-> ...
-> Tests
-> Controller
-> Entity
-> Service
-> ...
-> OtherBundle
-> ...
Я знаю, что тесты работают, даже если они не находятся под тем же пространством имен, что и те классы, которые они тестируют.
namespace Acme\SomeBundle\Service;
/**
* Some service.
*
* @author varchar
* @since August 1, 2012
*/
class SomeService
{
}
Для класса выше я (для одного) обычно имеет тест под следующим пространством имен (под влиянием структуры каталогов):
namespace Acme\SomeBundle\Tests\Service;
Теперь это работает нормально.
Кстати, однако, я использую IDE Netbeans, который не может найти тестовый класс, если он не находится под одним и тем же пространством имен (это примечательно, если вы хотите протестировать только один файл). Ну, это может быть просто стандарт Netbeans (или что-то еще).
Независимо, однако, целесообразно ли ставить тесты под тем же пространством имен, что и тестируемый класс? Есть ли какие-либо заслуги в этом?
Вопрос
1) Уместно ли ставить тесты под тем же пространством имен, что и тестируемый класс?
2) Есть ли какие-либо достоинства при этом?