如何使用Moxie模拟静态方法

时间:2014-07-28 10:18:45

标签: java unit-testing junit moxiemocks

我们如何使用Moxie框架模拟静态方法(我应该只使用Moxie,因为我的组织只允许在他们的环境中使用moxie。)

假设我有一个班级

public class Test{
  public int x;
  public int y;
  public static int add(){
    return x + y;
  }
}

我必须使用Moxie框架模拟添加Test类。

如果我这样使用

Test t = Moxie.mock(Test.class);
Moxie.stub(t).willReturn(20).when(t.add());

我收到警告说静态方法添加应该以静态方式从Test类型访问,并且在运行测试时也不会发生模拟。

请帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

你可以使用PowerMock和moxie来模拟静态类。

请参阅http://moxiemocks.org/mvn/apidocs/index.html?moxie/MoxieRunner.html

HTH, Keshava。