我在Scala Play项目中使用了ScalaTest。但我在这里有一个问题,何时使用普通assert(xxx === yyy)
以及何时使用像xxx should be yyy
这样的ScalaTest匹配器。
我个人更喜欢使用assert,因为它简单而干净。也可以利用ScalaTest的TypedCheckTrippleEquals
支持,但匹配者不能。
对于匹配器,到目前为止我只发现了匹配器可以做但不能断言的一件事,即Array(1, 2) should equal (Array(1, 2))
成功。
不太确定推荐哪一个,是否有其他东西匹配者可以做更多?否则很高兴使用assert。
答案 0 :(得分:3)
以下是我喜欢的匹配器:
1)检查范围内的数字
sevenDotOh should equal (6.9 +- 0.2)
2)检查长度
result should have length 3
3)检查类型
result1 shouldBe a [Tiger]
4)检查一个或多个元素是否属于集合
List(1, 2, 3, 4, 5) should contain oneOf (5, 7, 9)
List(1, 2, 3) should contain (2)
5)各种酷测试
List(1, 2, 3) shouldBe sorted
如果您还没有看过documentation,请执行此操作。