刚开始使用ScalaTest,我非常喜欢。
到目前为止,仅阅读the docs,我一直无法弄清楚can
的should
,must
和FlatSpec
子句之间是否存在实质性区别。
特别是,我想知道must
错误是否与should
错误区别对待-还是“语法糖”来使测试更好地自我记录。
最佳答案
should
和must
在语义上是相同的。但这并不是关于更好的文档,基本上只是个人风格偏好(例如,我更喜欢must
)。
can
与有点不同。您不能(预兆)直接将其用作匹配器,它仅在测试描述符中可用。引用 FlatSpec
:
( WordSpec
和two corresponding夹具类也是如此)
请注意,在短时间内(我认为在ScalaTest 2.0.x中),不赞成使用must
,但是在2.1.0中,决定has been reverted: