指定メソッドだけアクセス可能、プロパティは変更なしでテスト全てのメソッドにアクセス可能、プロパティは変更なしでテスト全てのメソッド、プロパティにアクセス可能でテスト作成したクラスのソースユニットテストで、pivateやprotectedのメソッドをテストしたい場合があります。その場合、ReflectionMethodなどを使って行いますが、結構使うので、より簡単に行えるようなクラスを考えてみました。privateやprotectedプロパティへもアクセスしたい場合があるので、同じクラスでアクセス制御できるようにしてみました。使用方法クラス名はTestObjectFactoryになります。array())第一引数に対象となるクラスのインスタンスまたはクラス名を指定します。TestObjectFactory('Customer');第二引数はアクセス可能にするメソッド名を配列で指定します。全てのメソッドをアクセス可能にする場合はnullを指定します。array());第三引数はプロパティ指定になります。全てのプロパティをアクセス可能にする場合はnullを指定します。以下のようにインスタンスを作成します。array('getStrPrivate'));テストするときは、$objectのメソッドとして実行します。期待する戻り値が”private"という文字列の場合、以下のようにします。$object->getStrPrivate());指定メソッドだけアクセス可能、プロパティは変更なしでテストpublicでない指定メソッドだけアクセス可能のテストは以下のようになります。$object->getStrProtected());全てのメソッドにアクセス可能、プロパティは変更なしでテスト全メソッドアクセス可能のテストは以下のようになります。$object->getStrProtected());全てのメソッド、プロパティにアクセス可能でテスト全メソッドと全プロパティをアクセス可能にする場合は以下のようになります。$object->name);作成したクラスのソース以下のようになります。namespaceは使用環境に合わせて変更します。プロパティにアクセスできるようにするためのクラス。$methodsは、アクセスを許可するprivateやprotectedのメソッド名を配列で指定する。nullの場合は、全てのメソッドにアクセスできるようになる。カラの配列の場合は、通常と同じでprivateとprotectedのメソッドにはアクセスできない。$propertiesは、アクセスを許可するprivateやprotectedのプロパティ名を配列で指定する。nullの場合は、全てのプロパティにアクセスできるようになる。カラの配列の場合は、通常と同じでprivateとprotectedのプロパティにはアクセスできない。指定の名前のメソッドが実行されたときに呼び出される。メソッドを実行して結果を返す。プロパティから値を取得する場合に呼び出される。プロパティに値を設定する場合に呼び出される。Global・gtags(HTML表示)HomeBack。