【问题标题】:metaClass.'static' not working when replacing method替换方法时 metaClass.'static' 不起作用
【发布时间】:2011-06-03 02:00:31
【问题描述】:

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

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

【问题讨论】:

    标签: groovy


    【解决方案1】:

    尝试输入闭包:

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

    如果您要覆盖某些内容,则需要完全匹配方法签名。

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 2012-11-03
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多