0
public abstract class A{
    public int methodInA(String a){
         return 0;
    }
}

public class B extends A{
    String a = "ANYTHING";
    public void main(){
        int b = super.methodInA(a);
    }
}

このコードは単なる例です。私はテストしようとしていて、からの引数でBメソッドをモックしたいと思っています。EasyMock でこれを行うことはできますか?methodINAB

4

1 に答える 1

-2

これはモックの目的ではありません。メソッドをモックする必要がありますがmain、EasyMock だけでは実際のコードをテストしないため、テストは無意味になります。

EasyMock (および一般的なモッキング) は、テスト対象のオブジェクトによって使用されるオブジェクトの動作を制御する場合に使用されます。

あなたの場合、唯一のオプションは、次のように、テストで B をサブクラス化することです。

@Test
public void testSomething()
{
  final int expected = 5;

  B b = new B()
  {
    public int methodInA(String a)
    {
      return expected;
    }
  };

  b.main();

  //Add assertions here.
}
于 2013-06-04T16:39:31.530 に答える