一个方法返回一个Map
元组,为了测试通过,我需要检查地图是否包含n
个键,并且键值匹配。
我从一个result.foreach(f=> f._ == "value"))
开始,但我似乎无法检查同一循环中的其他值。
答案 0 :(得分:0)
假设你有以下定义的地图:
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
。为简单起见,我使用了Strings和Boolean,但您也可以轻松地将上述示例用于您的用例。关于检查地图测试,您可以添加test.size mustEqual expectedSize
,其中expectedSize
是val
,这是您期望的集合的大小。
如果您需要更多说明,请与我们联系。我很乐意帮忙。