如何在mockito的单元测试中传递函数中的任何UUID?

Abd*_*had 3 java generics junit testng mockito

我有一个函数 func() ,它接受 UUID 作为参数。我正在做一个单元测试,我需要为传递给 func() 的任何 UUID 值返回一个特定的值。如何使它适用于任何 UUID 类型值(就像anyString()任何字符串、anyInt()任何整数等)?

我已经尝试过:

when(obj.func(any(UUID.class)).thenReturn(null);
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误:

The method any(Class<UUID>) is ambiguous for the type <Test_Class_Name>

其中 Test_Class_Name 是我编写单元测试的类的名称。

func() 是一个重载函数:func(String) 和 func(UUID)

And*_*cus 7

对于任何其他类型,您可以使用any(). 这将匹配给定类型的参数:

any(UUID.class)
Run Code Online (Sandbox Code Playgroud)

您可以在文档中找到更多信息。