0

私は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」を使わずにそれを行うことは可能ですか?

4

1 に答える 1