在 Mockito Flutter 中如何编写一个匹配器来匹配除指定之外的任何内容?

In Mockito Flutter how to write a matcher to match Any except specified?

为了设置上下文,我正在尝试在 Flutter 中执行此操作。

例如,

我有一个通过的测试,“如果我将模拟设置为说 'no network connection' 并期望得到 'NetworkUnavailable' 结果。”

然后,我想写下一个测试“如果网络可用,结果可以是 'NetworkUnavailable' 以外的任何东西”

我正在努力为此设置一个期望匹配器。 Mockito 有什么东西吗,比如 AnyExcept([matcher])?

谢谢。

有一个 isNot Matcher 可以与其他 Matcher 组合。因此,例如,您应该能够执行以下操作:expect(valueToTest, isNot(unwantedValue));expect(valueToTest, isNot(isIn([unwantedValue1, unwantedValue2])));

如果这不能满足您的要求,您还可以使用 predicate 从布尔函数轻松创建您自己的 Matcher

(如果您正在搜索 Mockito 文档,您可能找不到这些 因为它们是 package:matcher 的一部分(通常作为 package:test 的一部分包含在内);它们通常用于单元测试,而不仅仅是模拟。)