的方法正在返回的元組的一個Map
,對於此測試通過我需要檢查地圖包含n
鍵數以及該密鑰值相匹配。Scalatest如果地圖包含的值形成一個列表
我從result.foreach(f=> f._ == "value"))
開始,但我似乎無法檢查相同循環中的其他值。
的方法正在返回的元組的一個Map
,對於此測試通過我需要檢查地圖包含n
鍵數以及該密鑰值相匹配。Scalatest如果地圖包含的值形成一個列表
我從result.foreach(f=> f._ == "value"))
開始,但我似乎無法檢查相同循環中的其他值。
假設你有地圖,定義如下:
val test = Map(("a","aa") -> false, ("b","bb") -> false, ("c","cc") -> true)
你可以這樣做:
test.map { foo => val ((tupleKey,tupleValue),value) = foo // you could add your checking of key value here (tupleKey,tupleValue,value) }
在代碼段中,我使用的變量名來訪問的元組元素。我返回一個元組等什麼應返回的是:
res2: scala.collection.immutable.Iterable[(String, String, Boolean)] = List((a,aa,false), (b,bb,false), (c,cc,true))
正如你可以看到上面你可以訪問tupleKey
,tupleValue
和value
,你想訪問。爲簡單起見,我使用了字符串和布爾值,但您也可以輕鬆地將上述示例用於您的用例。關於檢查地圖測試,您可以添加test.size mustEqual expectedSize
,其中是val
,這是您期望的集合的大小。
讓我知道你是否需要更多的澄清。我很樂意提供幫助。
鍵和值的類型是什麼? – Vidya
@Vidya他們都是字符串,密鑰是唯一的 – null
你能舉一個地圖和列表的例子以及你想從他們得到什麼? – Psidom