模拟在groovy中测试的方法中调用的静态方法返回

时间:2012-09-01 23:12:24

标签: testing groovy

我有一个

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 个答案:

答案 0 :(得分:1)

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

A.metaClass.static.isRunning = { true }

如果在测试之前运行该行,它将使该方法始终返回true