2

だから私はインターフェースを持っています、それをXと呼びましょう

だから私が持っている通常のコードでは:

public class doStuff()
{
@Autowired
private X x;

public stuff()
{
x.doYourThing();
}
}

ただし、これをテストする方法がわかりません。

私が試してみると:

public class XTest()
{
  @Autowired
  private X x;
  public void test(){
  string val = x.FillUpVal();
  assertTrue("It didn't work",val=="hi");
  }

}

x を null として取得するため、すぐに NullPointerException がスローされ、テストに失敗します。これについての適切な方法についてのガイダンスを探しています。

4

1 に答える 1

2

実際、モックオブジェクトを@Autowireすることができます。Mockitoフレームワークをお勧めします。詳細と例:http ://code.google.com/p/mockito/

MockitoモックをSpringBeanに注入する

モックの詳細:

オブジェクト指向プログラミングでは、モックオブジェクトは、制御された方法で実際のオブジェクトの動作を模倣するシミュレートされたオブジェクトです。プログラマーは通常、自動車の設計者が衝突試験用ダミー人形を使用して車両の衝突における人間の動的挙動をシミュレートするのとほぼ同じ方法で、他のオブジェクトの挙動をテストするためのモックオブジェクトを作成します。

http://en.wikipedia.org/wiki/Mock_object

于 2012-09-13T20:12:14.777 に答える