2013-12-20 8 views
8

私は疑問に思う:Symfony2のユニットテストと機能テストの分離方法は?

  1. それはテスト分離することをお勧めします場合(ユニット| 機能...)Symfony2の、
  2. と私はを分離する方法をに:

フォルダ構造で

tests 
|-- functional  
|-- unit 
phpunit.xml
で設定することにより

<testsuites> 
    <testsuite name="unit">...</testsuite> 
    <testsuite name="functional">...</testsuite> 
</testsuites> 

注釈

/** 
* @group unit  
*/ 
function testMyUnit() 

することにより、合理的なアプローチですか?これを行うための標準的な方法がありますか?どのような「レベル」が分かれているか(単位>統合>機能)?これらのテストを手作業で最速で行い、ジェンキンスで合理的なカバレッジレポートを取得したい場合は、どのように活用すればよいでしょうか?

+0

機能テストをバンドルのControllerフォルダに配置するという標準的な方法は何ですか? –

+0

インテグレーションテスト(カーネルやコンテナなど)やコントローラからの「機能コード」はどこに置かれますか? – Koryonik

答えて

5

機能的なものと単体テストのものの2つの設定ファイルがあります。その後、単体テストを機能とは別に実行できます。ユニットテストができるだけ早く実行されるようにするか、開発時に誰も実行しないようにしたいので、このアプローチは非常にうまくいきます。

phpunit -c app/phpunit.xml 
phpunit -c app/phpunit_functional.xml 

ディレクトリ構造は、我々が使用:

src/Namespace/Bundle/Tests/Unit/ 
src/Namespace/Bundle/Tests/Functional/ 

第二の方法は、1つの設定ファイルを持っているとphpunit --testsuite unitを実行することです。

+0

これは複数のバンドルでどのように機能しますか?バンドルを追加/削除するたびにグローバルなphpunitファイルを更新する必要がありますか? –

関連する問題