PHPUnit9.0 斷言-斷言的用法

2022-03-22 15:11 更新

PHPUnit 的各個斷言是在 ?PHPUnit\Framework\Assert? 中實現(xiàn)的。?PHPUnit\Framework\TestCase? 則繼承于 ?PHPUnit\Framework\Assert?。

各個斷言方法均聲明為 ?static?,可以從任何上下文以類似于 ?PHPUnit\Framework\Assert::assertTrue()? 的方式調(diào)用,或者也可以用類似于 ?$this->assertTrue()? 或 ?self::assertTrue()? 的方式在擴展自 ?PHPUnit\Framework\TestCase? 的類內(nèi)調(diào)用。甚至可以用全局函數(shù)封裝,例如 ?assertTrue()?。

有個常見的疑問——對于那些 PHPUnit 的新手尤甚——是究竟應(yīng)該用諸如 ?$this->assertTrue()? 還是諸如 ?self::assertTrue()? 這樣的形式來調(diào)用斷言才是“正確的方式”?簡而言之:沒有正確方式。同時,也沒有錯誤方式。這基本上是個人喜好問題。

對于大多數(shù)人而言,由于測試方法是在測試對象上調(diào)用,因此用 ?$this->assertTrue()? 會“覺的更正確”。然而請記住斷言方法是聲明為 ?static? 的,這使其可以(重)用于測試對象的作用域之外。最后,全局函數(shù)封裝讓開發(fā)者能再少打一些字(用 ?assertTrue()? 代替 ?$this->assertTrue()? 或者 ?self::assertTrue()?)。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號