小编Son*_*mez的帖子

如何使用Mockito/Powermock模拟枚举单例类?

我不确定如何模拟枚举单例类.

public enum SingletonObject{
  INSTANCE;
  private int num;

  protected setNum(int num) {
    this.num = num;
  }

  public int getNum() {
    return num;
  }
Run Code Online (Sandbox Code Playgroud)

我想在上面的例子中存根getNum(),但我无法弄清楚如何模拟实际的SingletonObject类.我认为使用Powermock准备测试会有所帮助,因为枚举本身就是最终的.

//... rest of test code
@Test
public void test() {
  PowerMockito.mock(SingletonObject.class);
  when(SingletonObject.INSTANCE.getNum()).thenReturn(1); //does not work
}
Run Code Online (Sandbox Code Playgroud)

这是使用PowerMockMockito 1.4.10和Mockito 1.8.5.

java singleton enums mockito powermock

20
推荐指数
1
解决办法
3万
查看次数

标签 统计

enums ×1

java ×1

mockito ×1

powermock ×1

singleton ×1