Как сбросить насмешливый статический метод в Groovy?

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

    def originalPostAsXml = RestClient.&postAsXml

    RestClient.metaClass.'static'.postAsXml = {
        String uriPath, String xml ->
        return 65536
    }

и в очистке теста:

    RestClient.metaClass.'static'.postAsXml = originalPostAsXml

Но при запуске следующего теста, когда он пытается выполнить RestClient.postAsXml, он сталкивается с StackOverflowError:

at groovy.lang.Closure.call(Closure.java:282)

Похоже, что RestClient.postAsXml рекурсивно указывает на себя. Какой правильный способ сбросить насмешливый статический метод?

8
задан Noel Yap 1 December 2011 в 22:15
поделиться