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;
}
}
?>
希望对您有所帮助!
我正在使用 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;
}
}
?>
希望对您有所帮助!