【问题标题】:'demand' of static method is not working with 'new MockFor' in Grails-3.2.4 'Junit Testing'静态方法的“需求”不适用于 Grails-3.2.4“Junit 测试”中的“新 MockFor”
【发布时间】:2017-02-13 05:23:59
【问题描述】:

谁能告诉我如何要求一个类的静态方法。 我已尝试使用以下代码,但无法使用:

import groovy.mock.interceptor.MockFor

final mockCl = new MockFor(ClassName) 
mockCl.demand.static.methodName(1) { return 'something' } 

有了这个,它给出了以下例外:

groovy.lang.MissingPropertyException: No such property: static for   class: groovy.mock.interceptor.Demand at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) at org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite.getProperty(GetEffectivePogoPropertySite.java:87)

谁能指出我如何使用 grails 3 在 JUNIT 中模拟静态方法。

【问题讨论】:

    标签: grails junit grails-3.0 grails3.2.0


    【解决方案1】:

    试试:

    YourClass.metaClass.static.methodName = { return 'something }
    

    【讨论】:

    • 感谢 Mike 的回复:YourClass.metaClass.static.methodName = { return 'something } 请编辑您的答案,然后我会接受它作为回复。
    猜你喜欢
    • 2018-10-29
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 2023-02-13
    • 2014-01-05
    • 1970-01-01
    相关资源
    最近更新 更多