Mockito isA() & any...()

  • 本文关键字:any isA Mockito mockito
  • 更新时间 :
  • 英文 :


有什么区别
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 Committer Brice提供了一些历史背景和未来方向:

对于历史参考,anyanything的速记别名,当时API迫使人们施放一个人,而贡献者和/或承诺者认为将班级作为避免这种阵容的参数,而无需更改的语义,而不会改变这个API。但是,这种变化最终改变了人们认为这种API正在做的事情。这将在Mockito 2

中修复

相关内容

  • 没有找到相关文章