«требование» статического метода не работает с «новым MockFor» в Grails-3.2.4 «Junit Testing»

Может кто-нибудь, пожалуйста, дайте мне знать, как требовать статические методы класса. Я пробовал с приведенным ниже кодом, и он не работает с ним:

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)

Может ли кто-нибудь указать мне, как издеваться над статическими методами в JUNIT с помощью grails 3.


person Charu Jain    schedule 13.02.2017    source источник


Ответы (1)


Пытаться:

YourClass.metaClass.static.methodName = { return 'something }
person Mike W    schedule 13.02.2017
comment
Спасибо, Майк, за ответ, с которым он работает: YourClass.metaClass.static.methodName = {return 'something} Пожалуйста, отредактируйте свой ответ, тогда я приму его как ответ. - person Charu Jain; 13.02.2017