[英]Simplify incomplete assertions in HSpec
我想对返回复杂嵌套数据结构的 function 进行单元测试,但我只对该结构的某些字段感兴趣。 例如:
expectedResult = Right (
UserRecord {
name = "someName",
id = <don't care>
address = AddressRecord {
street = "someStreet",
id = <don't care>
}
}
)
是否有一种通用的方法可以在 HSpec 中断言上述形式的结果? 也就是说,某种方式来写一个表达式
result `shouldBe` expectedResult
我不需要指定我不感兴趣的预期结果的那些部分? 我找到了这个答案,它需要将所有无关字段从result
复制到expectedResult
; 这可能会变得相当乏味。 也许有使用镜头的标准方法? 或者一些我没听说过的带有断言助手的库?
一个简单的方法:
result `shouldSatisfy` \a ->
name a == "someName" &&
street (address a) == "someStreet"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.