単体テストでは、プライベート メソッドに Reflection を使用しました。これに似たものが機能するはずです...
Method method = BehaviourService.getDeclaredMethod("behaviourValidConstraints",User.class,Behaviour.class)
method.setAccessible(true)
boolean valid = ((Boolean)method.invoke(service, user,b)).booleanValue()
最初に getDeclaredMethod で名前とパラメーターの型を設定してメソッドを取得し、アクセス可能に設定して、最後にメソッドとパラメーターを持つオブジェクトを渡す method.invoke で呼び出します。結果はオブジェクトなので、キャストする必要があります。
もっと良い解決策があるに違いないことは知っていますが、これは私が見つけた唯一の解決策です
編集:申し訳ありませんが、上記はプライベートメソッドを呼び出すためのものです。やる前にプライベートメソッドを嘲笑したと思います...
MyController.metaClass.myPrivateMeth1 { a, b ->
...
}
あなたが書いたのと同じですが、.private と = 記号はありません。また、Kamil が言ったように、メソッド名については Java の命名規則に従う必要があります...