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;
これで問題なく動作します。
ちなみに、私は Netbeans IDE を使用していますが、これは同じ名前空間にない限りテスト クラスを見つけることができません (これは、1 つのファイルのみをテストする場合に顕著です)。まあ、これはただの Netbeans 標準 (または何か) かもしれません。
ただし、テスト対象のクラスと同じ名前空間にテストを配置することは適切ですか? そうするメリットはありますか?
質問
1)テスト対象のクラスと同じ名前空間にテストを配置することは適切ですか?
2)そうするメリットはありますか?