2013-12-10 7 views
5

PHPUnitは、それぞれテストケース内の各テストの前後に実行するイベントがsetuptearDownです。私の具体的なシナリオでは、testCaseSetuptestCaseTearDownのようなものも実行したいと考えています。それは可能ですか?テストケースのPHPUnitセットアップとtearDown

現在のソリューションは、次のようになります。

<?php 

class MyTestCase extends \PHPUnit_Framework_TestCase 
{ 

    public function __construct($name = NULL, array $data = array(), $dataName = '') 
    { 
     // My test case setup logic 
     parent::__construct($name, $data, $dataName); 
    } 

    public function __destruct() 
    { 
     // My test case tear down logic 
    } 
} 

しかし、それは次のような理由から遠く最適のようだ:

  • 私はPHPUnit_Framework_TestCase構造を再宣言し、任意の引数をリダイレクトする必要があります。バージョンアップ時にPHPUnitコンストラクタが変更された場合、私のテストケースは停止します。
  • おそらくPHPUnit_Framework_TestCaseはこのように使用されていないと宣言されました。

もっと良い解決策があるかどうかを知りたいと思います。何か案は?

答えて

10

はい、その目的のための特別な方法があります:setUpBeforeClasstearDownAfterClassです。

class TemplateMethodsTest extends PHPUnit_Framework_TestCase 
{ 
    public static function setUpBeforeClass() 
    { 
     // do sth before the first test 
    } 

    public static function tearDownAfterClass() 
    { 
     // do sth after the last test 
    } 
+0

男、すべてのドキュメントを検索して見つけられませんでした。ありがとう! – marcio

関連する問題