我目前正在使用|>
scalaz 来实现以下目标:
(4 |> (s => (s + " is smaller than 10" ! (s < 10 must beTrue)))
这允许我.toString
在测试用例的描述中重用对象的。但是由于 Specs2 似乎支持某种复杂的东西,比如通过扫描src
文件夹从测试源中提取东西——他们一定考虑过这个特殊的用例。
还有Given
, When
,Then
东西,但它看起来非常冗长。
那么如何重用相同的对象进行描述和匹配?我认为我的解决方案是可以接受的,但括号困扰着我。实际上它看起来像这样:
(Set((1,2),(3,4)) |> (s => s + " has Set(1,2) as component of 1" ! (graph.componentOf(s,1) must_== Set(1,2))))