替换方法时,metaClass.'static'无效

时间:2011-06-03 02:00:32

标签: groovy

我正在使用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')
}

我无法通过考试。关于我做错了什么的任何想法?

1 个答案:

答案 0 :(得分:26)

尝试输入闭包:

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

如果您尝试覆盖某些内容,则需要准确匹配方法签名。