2016-12-23 22 views
5

Tôi đang sử dụng Groovy với JUnit để kiểm tra mã số Java của mình.Cách tạo tham chiếu phương thức Java bằng Groovy cho mục đích thử nghiệm

tôi cần phải thử nghiệm một phương pháp foo() mà mất trong một java.util.function.Function

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

Trong mã bình thường của tôi, tôi gọi foo bằng cách đi qua trong một tài liệu tham khảo phương pháp của một phương pháp bar tức.

foo(mybar::bar) 

Làm cách nào để thử nghiệm chức năng này trong Groovy một cách trang nhã?

Sử dụng:

mybar.&bar 

mang lại một groovy.lang.Closure<...> mà không tương thích với java.util.function.Function.

Tôi có thể đạt được điều này bằng cách nào khác?

+2

Cố gắng ép buộc cho 'Function', như thế này:' foo (. Mybar & thanh như Function) ' – BalRog

+0

@BalRog Đó dường như đã làm việc, nhờ ! –

+2

@balrog bạn nên đăng bình luận của bạn như là một câu trả lời – Bohemian

Trả lời

4

ép buộc các nỗ lực cuối cùng để Function, như thế này:

foo(mybar.&bar as Function) 
Các vấn đề liên quan