Java 如何使用Moxie模拟静态方法

Java 如何使用Moxie模拟静态方法,java,unit-testing,junit,moxiemocks,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 t = Moxie.mock(Test.class); Moxie.stub(t).willRetur

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

假设我有一节课

public class Test{
  public int x;
  public int y;
  public static int add(){
    return x + y;
  }
}
我必须使用Moxie框架模拟添加测试类

如果我像这样使用

Test t = Moxie.mock(Test.class);
Moxie.stub(t).willReturn(20).when(t.add());
我收到一条警告,说应该以静态方式从类型测试访问静态方法add,并且在运行测试时不会发生模拟


请帮助我解决这个问题。

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

嗯,,
Keshava。

您的字段x和y应该是静态的,因为您的静态函数正在访问它们。另外,您应该像这样调用函数:Test.add()。您是否尝试过重新构造代码,使其不使用静态方法?您的add方法在这里不需要是静态的