您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit标注-backupStaticAttributes
发布时间:2021-10-06 17:27:36编辑:雪饮阅读()
backupStaticAttributes标注同backupGlobals标注类似,只是backupStaticAttributes用于静态属性。
use PHPUnit\Framework\TestCase;
/**
* @backupStaticAttributes enabled
*/
final class MyTest extends TestCase
{
static $a="a";
public function testOne(): void
{
var_dump(__METHOD__."静态属性a:".self::$a);
self::$a="aa";
$this->assertTrue(true);
}
public function testTwo(): void
{
var_dump(__METHOD__."静态属性a:".self::$a);
$this->assertTrue(true);
}
}
use PHPUnit\Framework\TestCase;
/**
* @backupStaticAttributes enabled
*/
final class MyTest extends TestCase
{
static $a="a";
public function testOne(): void
{
var_dump(__METHOD__."静态属性a:".self::$a);
self::$a="aa";
$this->assertTrue(true);
}
/**
* @backupStaticAttributes disabled
*/
public function testTwo(): void
{
var_dump(__METHOD__."静态属性a:".self::$a);
self::$a="aaa";
$this->assertTrue(true);
}
public function testThree(): void
{
var_dump(__METHOD__."静态属性a:".self::$a);
$this->assertTrue(true);
}
}
运行结果:
受限于 PHP 的内部实现,在某些情况下即使使用了 @backupStaticAttributes
也可能有个别静态值出现意料外的延续,并污染后继测试。
细节参见全局状态。
关键字词:phpunit,backupStaticAttributes