gpt4 book ai didi

Mockito isA() 和任何...()

转载 作者:行者123 更新时间:2023-12-01 16:52:02 39 4
gpt4 key购买 nike

有什么区别:

verify(mock, times(1)).myMethod(Matchers.isA(String.class));
verify(mock, times(1)).myMethod(Matchers.anyString());

来自 Mockito 库?两者都通过了我的方法,我想知道哪一个“更好”使用。

最佳答案

isA检查该类是否与预期类匹配。在 Mockito 1.x 中,anyanyObjectanyString完全忽略参数(包括其类型),即使 any 可以采用类参数并且 anyString 在名称中指定它。

通常,除非您有理由防止传入不兼容的参数,否则您可以坚持使用 anyanyString。 Mockito 风格更喜欢灵活的测试用例,这意味着仅验证您显式检查的内容,并故意允许其他所有内容未指定。

更新: Mockito 提交者 Brice已提供 some historical background and future direction :

For historical reference, any is a shorthand alias of anything, at that time the API was forcing one to cast, and contributors and/or commiters thought about passing the class as a param to avoid this cast, without changing the semantic of this API. However this change eventually modified what people thought that this API was doing. This will be fixed in mockito 2+

关于Mockito isA() 和任何...(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21430378/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com