2012-09-01 76 views
1

正在测试我有一个嘲笑一个静态方法返回一个调用的方法与常规

class A { 
    public static boolean isRunning() { 
    if (ctx == null) { .. } 
    return ctx.isRunning(); 
    } 
} 

我测试,在中间调用A.isRunning()的方法;

class B { 
public void methodToBeTested() { 
    A.isRunning(); 
    // do somthing 
} 
} 

我想要的方式,A.isRunning时()被调用它马上返回true,不走初始化上下文来进行测试。

由于B类没有类型A的属性,我不确定测试此方法的方法是什么?

感谢

回答

1

您可以通过元编程重新定义你的A.isRunning()

A.metaClass.static.isRunning = { true } 

如果您运行测试之前线,这将使该方法总是返回true