phpUnit:将参数从测试传递到 tearDownAfterClass

phpUnit: Pass argument into tearDownAfterClass from a test

我正在使用 phpUnit。是否可以将另一个测试的结果传递给 tearDownAfterClass。我知道可以使用 @depends 使其他测试依赖于数据测试。之后是否可以将该数据以某种方式传递给 tearDownAfterClass

@depends 似乎不适用于 tearDownAfterClass

您可以使用静态 属性 保存 tearDownAfterClass 的 "params"/data。静态属性不会在后续测试中被覆盖,除非您这样做(您可以在此处了解有关 static 关键字的更多信息 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;
    }
}
?>

希望对您有所帮助!