/ / Comment générer une référence de méthode Java à l'aide de Groovy à des fins de test - java, groovy, java-8, method-reference

Comment générer une référence de méthode Java en utilisant Groovy à des fins de test - java, groovy, java-8, method-reference

J'utilise Groovy avec JUnit pour tester mon Java code.

J'ai besoin de tester une méthode foo() qui prend un java.util.function.Function

public void foo(Function<Foo,Bar> func){
return null;
}

Dans mon code normal j'appelle foo en passant une référence de méthode d'une méthode bar c'est à dire.

foo(mybar::bar)

Comment puis-je tester cette fonction dans Groovy élégamment?

En utilisant:

mybar.&bar

donne un groovy.lang.Closure<...> qui n'est pas compatible avec java.util.function.Function.

Sinon, comment puis-je y parvenir?

Réponses:

8 pour la réponse № 1

Contraignez la dernière tentative de Function, comme ça:

foo(mybar.&bar as Function)