2016-05-25 87 views
1

我正在生成一個值,並且我知道它可能的值。我想寫這個Scalatest Matcher - 檢查單個值是否存在於一組值中

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

然而,這似乎並沒有爲我工作作爲Scalatest 3 M15的。我的解決方法是

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

這是一個更多的混淆閱讀和理解。

有沒有辦法做到我想要的?這似乎是一種常見的情況。

+0

你什麼錯誤? – Ashalynd

+0

它編譯但我得到的測試失敗'1不等於oneOf(1,2,3)' –

+0

您確定myInt的類型是否正確? – Det

回答

2

oneOf只能用於比較集合的內容。您可以使用Some作爲一個簡單的元素集合:

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

或者:

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

我想後面的選項至少不會讓人困惑。謝謝。 –

相關問題