的方法正在返回的元组的一个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