Подтвердить что ты не робот

MetaClass.'static 'не работает при замене метода

Я использую groovy 1.7.8.

У меня есть следующий код:

public class StaticClass {
    public static String getStaticString(String string) {
        return "NOT WORKING"
    }
}

Мой тест:

void testStaticMethod() {
    StaticClass.metaClass.'static'.getStaticString = { i ->
        "WORKING"
    }

    assert "WORKING" == StaticClass.getStaticString('test')
}

Я не могу пройти тест. Любые идеи о том, что я делаю неправильно?

4b9b3361

Ответ 1

Попробуйте ввести замыкание:

StaticClass.metaClass.'static'.getStaticString = { String i ->
    "WORKING"
}

Вам нужно сопоставить подпись метода точно, если вы пытаетесь переопределить что-то.