2015-04-30 62 views
0

我正在使用phpUnit。是否可以將另一個測試的結果傳遞給tearDownAfterClass。我知道可以使用@depends來使其他測試取決於對數據的測試。以後有可能將這些數據傳遞給tearDownAfterClassphpUnit:將參數從測試傳入tearDownAfterClass

@depends似乎不適用於tearDownAfterClass

回答

1

您可以使用一個靜態屬性來保存tearDownAfterClass的「params」/ data。在後續測試中,靜態屬性不會被覆蓋,除非您這樣做(您可以在此處瞭解更多關於靜態關鍵字的信息http://php.net/manual/en/language.oop5.static.php)。

這是一個使用數據庫的例子。

https://phpunit.de/manual/current/en/fixtures.html

<?php 
class DatabaseTest extends PHPUnit_Framework_TestCase 
{ 
    protected static $dbh; 

    public static function setUpBeforeClass() 
    { 
     self::$dbh = new PDO('sqlite::memory:'); 
    } 

    public static function tearDownAfterClass() 
    { 
     self::$dbh = NULL; 
    } 
} 
?> 

希望它可以幫助!