Scalatest Matcher - 检查一组值中是否存在单个值

Scalatest Matcher - Check single value exists in a set of values

我正在生成一个值,并且我知道它可能的值。我想写这个

val myInt = someFunction()
myInt shouldBe oneOf (1, 2, 3)

然而,从 Scalatest 3 M15 开始,这似乎对我不起作用。我的解决方法是

List(myValue) should contain atMostOneOf (1, 2, 3)

阅读和理解起来更加混乱。

有没有办法在这里做我想做的事?这似乎是一个常见的场景。

oneOf只能用于比较集合内容。您可以使用 Some 作为一个简单的单元素集合:

Some(myInt) should contain oneOf (1, 2, 3)

或者:

myInt should (equal(1) or equal(2) or equal(3))