test
1.0.0
這個套件是一個工具集合,可以使單元測試的一些工作變得更容易。
JoomlaTestTestHelper
是一個靜態幫助器類,可用於在使用 PHPUnit 進行單元測試時減輕重複性任務的痛苦。
有兩種方法可以幫助處理 PHPUnit 模擬物件。
TestHelper::assignMockCallbacks
此幫助器方法提供了一種批量配置模擬回調的簡單方法。
使用 JoomlaTestTestHelper;類別 FooTest 擴充 PHPUnit_Framework_TestCase { 公用函數 testFoo() { // 建立模擬。原始建構子.false ); $mockCallbacks = array( // '方法名稱' => <callback>'method1' => array('mockFoo', 'method1'), 'method2' => array($this, 'mockMethod2'), ); TestHelper::assignMockCallbacks($mockFoo, $this, $mockCallbacks); 公用函數mockMethod2($value) { 返回 strtolower($value); } }
TestHelper::assignMockReturns
此幫助器方法提供了一種批量配置模擬返回值的簡單方法。
使用 JoomlaTestTestHelper;類別 FooTest 擴充 PHPUnit_Framework_TestCase { 公用函數 testFoo() { // 建立模擬。原始建構子.false ); $mockReturns = array( // '方法名稱' => '預設回傳值''method1' => '預設結果1', 'method2' => '預設結果2', 'method3' => '預設結果1', 'method2' => '預設結果2', 'method3' => '預設設結果3' , ); TestHelper::assignMockReturns($mockFoo, $this, $mockReturns); } }
有三種方法可以幫助反思。
TestHelper::getValue
TestHelper::getValue
方法可讓您取得任何受保護或私有屬性的值。
使用 JoomlaTestTestHelper;類別 FooTest 擴充 PHPUnit_Framework_TestCase { 公用函數 testFoo() { $instance = 新 Foo; // 取得受保護的 `bar` 屬性的值。 } }
應謹慎使用此方法。通常使用 PHPunit 的assertAttribute*
方法比較適合。
TestHelper::setValue
TestHelper::setValue
方法可讓您設定任何受保護或私有屬性的值。
使用 JoomlaTestTestHelper;類別 FooTest 擴充 PHPUnit_Framework_TestCase { 公用函數 testFoo() { $instance = 新 Foo; // 設定受保護的「bar」屬性的值。 TestHelper::setValue($instance, 'bar', '新值'); } }
此方法對於將值注入到物件中以測試 getter 方法非常有用。
TestHelper::invoke
TestHelper::invoke
方法可讓您呼叫任何受保護或私有方法。指定物件和方法名稱後,任何剩餘的參數都會傳遞給正在呼叫的方法。
使用 JoomlaTestTestHelper;類別 FooTest 擴充 PHPUnit_Framework_TestCase { 公用函數 testFoo() { $instance = 新 Foo; // 呼叫受保護的 `bar` 方法。 // 使用參數呼叫受保護的 `bar` 方法。 } }
將"joomla/test": "~2.0"
加入 Composer.json 中的 require 區塊中,然後執行composer install
。
{“要求”:{“joomla/test”:“~2.0” } }
或者,您可以簡單地從命令列執行以下命令:
作曲家需要 joomla/test "~2.0"