【问题标题】:How to write a matcher that is not equal to specific enum value?如何编写不等于特定枚举值的匹配器?
【发布时间】:2019-10-23 13:29:10
【问题描述】:

在问题中,有什么办法可以做到吗?下面的代码,适用于 String 不起作用。我想要任何其他值,例如:SomeEnum.FIRST

when(mock.method(any())).thenReturn(not(eq(SomeEnum.FIRST)));

【问题讨论】:

  • 我不认为有办法实现你想要的。您必须编写一个函数来随机化剩余的可用类型。我不明白你为什么想要那个。只需选择其余值之一。您指定调用 method(any()) 时模拟应返回的内容。
  • ArgumentMatchters 不应用作thenReturn 方法的参数。

标签: java mockito matcher


【解决方案1】:

这个怎么样?

when(mock.method(any())).thenReturn(SomeEnum.SECOND);

【讨论】:

  • 但我还想检查任何其他值,或者如果我只考虑“SomeEnum.FIRST 以外的其他值”,我就不需要?
  • '还要检查其他值'是什么意思?请分享有关何时以及如何使用此模拟的更多背景信息。
  • if(value.equals(SomeEnum.FIRST) {...} else {...} SomeEnum 有 +10 值。我想使用这个模拟进入“else”部分,并且我想包含除 SomeEnum.FIRST 之外的任何其他值。我需要这样做吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 2019-06-04
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多