eq()参数匹配器有什么用,如果直接传递字符串也会做同样的事情。例如,
eq()
when(method.foo("test")).thenReturn("bar");
字符串类似于
when(method.foo(ArgumentMatcher.eq("test"))).thenReturn("bar");
型
7nbnzgx91#
ArgumentMatchers比eq()多。另一个流行的是any(),但还有更多的ArgumentMatchers。它们通常一起使用,以帮助识别测试用例的正确值。您可能不想检查所有测试中的所有参数。例如,如果代码中有更多的参数。when(method.foo(eq("test"), any(Test.class), isNull()).thenReturn("bar");个我同意eq()看起来是多余的,但诀窍是如果一个参数使用了一个匹配器,所有的都必须,所以如果你想使用一个any(),你不能再只是放一个未 Package 的String参数。
any()
when(method.foo(eq("test"), any(Test.class), isNull()).thenReturn("bar");
String
1条答案
按热度按时间7nbnzgx91#
ArgumentMatchers比
eq()
多。另一个流行的是any()
,但还有更多的ArgumentMatchers。它们通常一起使用,以帮助识别测试用例的正确值。您可能不想检查所有测试中的所有参数。例如,如果代码中有更多的参数。when(method.foo(eq("test"), any(Test.class), isNull()).thenReturn("bar");
个我同意
eq()
看起来是多余的,但诀窍是如果一个参数使用了一个匹配器,所有的都必须,所以如果你想使用一个any()
,你不能再只是放一个未 Package 的String
参数。