Scalatest检查映射是否包含列表中的值
一个方法返回元组的Scalatest检查映射是否包含列表中的值,scala,scalatest,Scala,Scalatest,一个方法返回元组的Map,要通过此测试,我需要检查Map是否包含n个键,以及键值是否匹配 我从一个结果开始。foreach(f=>f.\u==“value”)但我似乎无法检查同一循环中的其他值。假设您定义了以下映射: val test = Map( ("a","aa") -> false, ("b","bb") -> false, ("c","cc") -> true) 你可以这样做: test.map{ foo=>val((tupleKey,tupleValue),valu
Map
,要通过此测试,我需要检查Map是否包含n
个键,以及键值是否匹配
我从一个
结果开始。foreach(f=>f.\u==“value”)
但我似乎无法检查同一循环中的其他值。假设您定义了以下映射:
val test = Map( ("a","aa") -> false, ("b","bb") -> false, ("c","cc") -> true)
你可以这样做:
test.map{
foo=>val((tupleKey,tupleValue),value)=foo
//您可以在此处添加对键值的检查
(tupleKey、tupleValue、value)
}
在上面的代码片段中,我使用变量名访问元组元素。我正在返回一个元组,因此应该返回的是:
res2:scala.collection.immutable.Iterable[(字符串,字符串,布尔)]=列表((a,aa,false),(b,bb,false),(c,cc,true))
如上所示,您可以访问想要访问的tupleKey
、tupleValue
和value
。为了简单起见,我使用了字符串和布尔值,但是您也可以轻松地将上面的示例用于您的用例。关于检查映射测试,您可以添加test.size必须等于expectedSize
,其中expectedSize
是一个val
,它是您期望的集合大小
如果你需要更多的澄清,请告诉我。我很乐意提供帮助。键和值的类型是什么?@Vidya它们都是字符串,键是唯一的。你能给出地图和列表的示例,以及你想从中获得什么吗?