簡體   English   中英

如何使用EasyMock從父類模擬方法

[英]How to mock the method from parent class with EasyMock

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並想使用B參數模擬方法methodINA 我可以用EasyMock做到這一點嗎?

這不是模擬的目的,您應該模擬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.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM