2013-12-10 19 views
5

PHPUnit, bir test durumu içinde her testten önce ve sonra sırasıyla çalışan setup ve tearDown olaylarına sahiptir. Benim özel senaryomda, testCaseSetup ve testCaseTearDown gibi bir şey çalıştırmak istiyorum. Mümkün mü?PHPUnit kurulum ve gözyaşı test durumları

<?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 
    } 
} 

Ama aşağıdaki nedenlerle optimal olmaktan uzak görünmektedir:

Güncel çözüm bu gibi görünüyor ben PHPUnit_Framework_TestCase yapısını redeclare ve herhangi bir bağımsız değişken yönlendirmek zorunda

  • . Bir sürüm güncellemesinde PHPUnit kurucusu değiştirilirse, test durumum durur.
  • Muhtemelen PHPUnit_Framework_TestCase'un böyle kullanılmayacağı beyan edilmemiştir.

Daha iyi çözümler olup olmadığını bilmek istiyorum. Herhangi bir fikir?

cevap

10

Evet, bu amaçla özel yöntemler var: setUpBeforeClass ve tearDownAfterClass.

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

Adam, tüm belgeleri aradım ve bulamadım. Teşekkürler! – marcio