2012-09-01 89 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