【发布时间】:2021-11-19 23:57:18
【问题描述】:
test("Comparison") {
val list: List[String] = List("Thing", "Entity", "Variable")
val expected: List[String] = List("Thingg", "Entityy", "Variablee")
var expectedPosition = 0
for (item <- list) {
assert(list(expectedPosition) == expected(expectedPosition))
expectedPosition += 1
}
}
在 Scala 中,为了使我的低级代码测试更具可读性,我认为只使用一个断言并让它遍历一个循环并在最后增加一个累加器是一个好主意。 这是为了在多个输入或多或少具有相似属性的情况下一次测试多个输入。当断言失败时,它会返回为“Thing[]”不等于“Thing[g]”。与其报告列表中失败的项目,有没有办法让它直接声明列表位置而不在断言之前连接列表位置或使用返回列表位置的条件语句?就像我宁愿将它全部包含在 assert() 错误报告中一样。
【问题讨论】:
-
assert采用可选字符串参数,您可以在其中包含其他信息
标签: scala unit-testing automated-tests