PHPUnit9.0 標(biāo)注-@backupStaticAttributes

2022-03-24 10:58 更新
PHPUnit9.0 標(biāo)注集合PHPUnit9.0 標(biāo)注集合

PHPUnit 可選地允許在每個(gè)測(cè)試之前備份所有已聲明類的靜態(tài)屬性,并在每個(gè)測(cè)試結(jié)束后還原這些備份。

可以在類級(jí)別使用 ?@backupStaticAttributes enabled? 標(biāo)注來對(duì)本測(cè)試用例類中的所有測(cè)試啟用此操作:

<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;

/**
 * @backupStaticAttributes enabled
 */
final class MyTest extends TestCase
{
    // ...
}

?@backupStaticAttributes? 標(biāo)注也可以用在測(cè)試方法這一級(jí)別。這樣可以對(duì)備份與還原操作進(jìn)行更細(xì)粒度的配置:

use PHPUnit\Framework\TestCase;

/**
 * @backupStaticAttributes enabled
 */
class MyTest extends TestCase
{
    public function testThatInteractsWithStaticAttributes(): void
    {
        // ...
    }

    /**
     * @backupStaticAttributes disabled
     */
    public function testThatDoesNotInteractWithStaticAttributes(): void
    {
        // ...
    }
}

受限于 PHP 的內(nèi)部實(shí)現(xiàn),在某些情況下即使使用了 ?@backupStaticAttributes? 也可能有個(gè)別靜態(tài)值出現(xiàn)意料外的延續(xù),并污染后繼測(cè)試。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)