使用 Prophecy 擴充 PHP 函數可透過以下步驟實作:使用 Composer 安裝 Prophecy。使用 prophesize() 方法建立樁物件。使用 will() 方法配置樁物件的行為。使用 shouldHaveBeenCalled() 方法驗證樁物件是否已被呼叫。
Prophecy 是 PHP 中一個靈活且強大的樁框架。它允許您輕鬆地創建樁對象,這些對象可以用於測試目的而不會實際修改正在測試的程式碼。
安裝Prophecy
首先,使用Composer 安裝Prophecy:
composer require prophecy/prophecy
建立樁物件
#要建立樁對象,請使用prophesize()
方法:
$stub = $prophecy->prophesize();
此程式碼將建立一個樁對象,該物件充當未指定的類別或介面。
設定樁物件
接下來,您可以使用 will()
方法來設定樁物件的行為。例如,要設定getName()
方法傳回"John Doe",請使用:
$stub->getName()->willReturn('John Doe');
驗證呼叫
要驗證樁物件是否已被調用,可以使用shouldHaveBeenCalled()
方法:
$stub->getName()->shouldHaveBeenCalled();
實戰案例
假設我們有一個函數greet()
,它接受一個名稱參數並列印一條問候訊息。
function greet($name) { echo "Hello, $name!"; }
我們可以使用Prophecy 建立一個樁物件來測試greet()
函數:
use Prophecy\Prophet; class GreetTest extends PHPUnit_Framework_TestCase { public function testGreet() { $prophet = new Prophet; $stub = $prophet->prophesize(); $stub->getName()->willReturn('John Doe'); greet($stub->reveal()); $stub->getName()->shouldHaveBeenCalled(); } }
此測試確保getName()
方法已被調用,並且greet()
函數列印了正確的問候語。
以上是如何使用 Prophecy 擴充 PHP 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!