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 のプロパティがないため、このメソッドをテストする方法がわかりません。

ありがとう

4

1 に答える 1

1

A.isRunning()メタプログラミングを介して再定義できます。

A.metaClass.static.isRunning = { true }

テストの前にその行を実行すると、そのメソッドは常に true を返すようになります

于 2012-09-02T00:30:55.387 に答える