如何使用Groovy生成Java方法引用以进行测试

ᴘᴀɴ*_*ᴛɪs 9 java groovy java-8 method-reference

我正在使用GroovyJUnit来测试我的Java代码.

我需要测试的方法foo()这需要在java.util.function.Function

public void foo(Function<Foo,Bar> func){
    return null; 
}
Run Code Online (Sandbox Code Playgroud)

在我的正常代码中,我foo通过传入方法的方法引用来调用,bar即.

foo(mybar::bar)
Run Code Online (Sandbox Code Playgroud)

我怎样才能Groovy优雅地测试这个功能?

使用:

mybar.&bar
Run Code Online (Sandbox Code Playgroud)

产生groovy.lang.Closure<...>与之不相容的java.util.function.Function.

我怎么能做到这一点?

Bal*_*Rog 13

强迫最后的尝试Function,像这样:

foo(mybar.&bar as Function)
Run Code Online (Sandbox Code Playgroud)