ttt*_*ttt 5 scala matcher scalatest
我在Scala Play项目中使用了ScalaTest。但是我在这里有一个问题,什么时候使用普通的assert(xxx === yyy)以及什么时候使用ScalaTest匹配器xxx should be yyy。
就我个人而言,我更喜欢使用assert,因为它既简单又干净。也可以利用ScalaTest的TypedCheckTrippleEquals支持,但匹配器则不能。
对于匹配器,到目前为止,我只发现匹配器可以做的一件事,但不能断言,这是Array(1, 2) should equal (Array(1, 2))成功的。
不太确定推荐哪个,匹配器还有其他东西可以做得更多吗?否则很高兴使用断言。
以下是我喜欢matchers 的一些东西:
1)检查范围内的数字
sevenDotOh should equal (6.9 +- 0.2)
Run Code Online (Sandbox Code Playgroud)
2) 检查长度
result should have length 3
Run Code Online (Sandbox Code Playgroud)
3) 检查类型
result1 shouldBe a [Tiger]
Run Code Online (Sandbox Code Playgroud)
4) 检查一个(或多个)元素是否属于一个集合
List(1, 2, 3, 4, 5) should contain oneOf (5, 7, 9)
List(1, 2, 3) should contain (2)
Run Code Online (Sandbox Code Playgroud)
5) 各种炫酷测试
List(1, 2, 3) shouldBe sorted
Run Code Online (Sandbox Code Playgroud)
如果您还没有阅读本文档,请阅读。