私は2つのクラスを持っています:
class Foo {
String doSomething(String a = 'Not working') {
return a
}
}
そして、テストで「doSomething」を置き換えたいのですが、うまくいきません
@Test
void testMethodIWannaTest() {
Foo.metaClass.doSomething = {String a -> return 'Working'}
assert new Foo().doSomething() == 'Working' //THIS TEST FAIL, return 'Not Working'
}
オプションのパラメーターを削除すると、機能します。
誰かがこれを修正する方法を知っていましたか?
*私は、テストが実際には意味をなさないことを知っています.それは私の主張を示すだけです.
私は何を間違っていますか?「mockFor」を使わずにそれを行うことは可能ですか?