test
1.0.0
このパッケージは、単体テストの作業の一部を容易にするツールのコレクションです。
JoomlaTestTestHelper
は、PHPUnit で単体テストを行う際の反復的なタスクの負担を軽減するために使用できる静的ヘルパー クラスです。
PHPUnit モック オブジェクトを支援するメソッドが 2 つあります。
TestHelper::assignMockCallbacks
このヘルパー メソッドは、モック コールバックを一括で構成する簡単な方法を提供します。
JoomlaTestTestHelper を使用する;クラス FooTest は PHPUnit_Framework_TestCase を拡張します { パブリック関数 testFoo() { // モックを作成します。$mockFoo = $this->getMock( 'Foo', // メソッド array.array(), // コンストラクター argument.array(), // クラス名をモックします。'', // 呼び出します元のコンストラクター.false ); $mockCallbacks = array( // 'メソッド名' => <コールバック>'method1' => array('mockFoo', 'method1'), 'method2' => array($this, 'mockMethod2'), ); TestHelper::assignMockCallbacks($mockFoo, $this, $mockCallbacks); パブリック関数mockMethod2($value) { strto lower($value) を返します; } }
TestHelper::assignMockReturns
このヘルパー メソッドは、モックの戻り値を一括で構成する簡単な方法を提供します。
JoomlaTestTestHelper を使用する;クラス FooTest は PHPUnit_Framework_TestCase を拡張します { パブリック関数 testFoo() { // モックを作成します。$mockFoo = $this->getMock( 'Foo', // メソッド array.array(), // コンストラクター argument.array(), // クラス名をモックします。'', // 呼び出します元のコンストラクター.false ); $mockReturns = array( // 'メソッド名' => '定型戻り値''method1' => '定型結果 1', 'method2' => '定型結果 2', 'method3' => '定型結果 3' 、 ); TestHelper::assignMockReturns($mockFoo, $this, $mockReturns); } }
振り返りに役立つ方法は 3 つあります。
TestHelper::getValue
TestHelper::getValue
メソッドを使用すると、保護されたプロパティまたはプライベート プロパティの値を取得できます。
JoomlaTestTestHelper を使用する;クラス FooTest は PHPUnit_Framework_TestCase を拡張します { パブリック関数 testFoo() { $instance = 新しい Foo; // 保護された `bar` プロパティの値を取得します。$value = TestHelper::getValue($instance, 'bar'); } }
この方法は慎重に使用する必要があります。通常は、PHPunit のassertAttribute*
メソッドを使用する方が適切です。
TestHelper::setValue
TestHelper::setValue
メソッドを使用すると、保護されたプロパティまたはプライベート プロパティの値を設定できます。
JoomlaTestTestHelper を使用する;クラス FooTest は PHPUnit_Framework_TestCase を拡張します { パブリック関数 testFoo() { $instance = 新しい Foo; // 保護された `bar` プロパティの値を設定します。 TestHelper::setValue($instance, 'bar', '新しい値'); } }
このメソッドは、ゲッター メソッドをテストする目的でオブジェクトに値を挿入する場合に便利です。
TestHelper::invoke
TestHelper::invoke
メソッドを使用すると、保護されたメソッドまたはプライベート メソッドを呼び出すことができます。オブジェクトとメソッド名を指定した後、残りの引数は呼び出されるメソッドに渡されます。
JoomlaTestTestHelper を使用する;クラス FooTest は PHPUnit_Framework_TestCase を拡張します { パブリック関数 testFoo() { $instance = 新しい Foo; // 保護された `bar` メソッドを呼び出します。$value1 = TestHelper::invoke($instance, 'bar'); // 引数を指定して保護された `bar` メソッドを呼び出します。 $value2 = TestHelper::invoke($instance, 'bar', 'arg1', 'arg2'); } }
"joomla/test": "~2.0"
を Composer.json の require ブロックに追加し、 composer install
を実行します。
{ "require": { "joomla/test": "~2.0" } }
あるいは、コマンド ラインから次のコマンドを実行することもできます。
作曲家には joomla/test "~2.0" が必要です