0

このクラスがあるとします:

class MyExample
{
   public $my_var = [1,2,3,4];

   public function MyMethod() 
   {
     //Here I use $this->my_var;
   }
}

クラスプロパティ $my_var を使用することを考慮して、メソッド MyMethod をテストする良い方法は何でしょうか。クラス プロパティを引数としてメソッドに渡すことをお勧めしますか? だから私は「引数を与え、結果を得る」アプローチをすることができますか?:

  public function MyMethod($my_var) 
   {
     //Here I use $my_var;
   }

そうしないと、MyMethod をテストしたい場合、異なる値を持つ MyExample のインスタンスをいくつか作成する必要があり$my_var、メソッドだけでなく、クラス自体を何らかの方法でテストすることになると感じています。

良いアプローチは何でしょうか?

4

1 に答える 1

1

「ユニット テスト」の「ユニット」は、クラス自体と考えるのが最適です。クラスの内部実装を広範にリファクタリングできるはずですが、公開 API はそのままにして、テストを壊すことはありません。実際、それは基本的にそれらの目的です:システム内の他のクラスの観点からユニットの動作方法を変更した場合に、ユニットの実装を安全に変更できるようにするためです。

于 2013-01-27T20:59:18.063 に答える