简化HSpec中的不完整断言



我想对返回复杂嵌套数据结构的函数进行单元测试,但我只对该结构的某些字段感兴趣。例如:

expectedResult = Right (
UserRecord {
name = "someName",
id = <don't care>
address = AddressRecord {
street = "someStreet",
id = <don't care> 
}
}
)

有没有一种通用的方法来断言HSpec中上述形式的结果?也就是说,以某种方式编写表达式

result `shouldBe` expectedResult

我不需要具体说明预期结果中我不感兴趣的部分?我找到了这个答案,它需要复制从resultexpectedResult的所有不在乎字段;这可能会变得相当乏味。也许有一种使用镜片的标准方法?或者一些我没听说过的带有断言助手的库?

一种简单的方法:

result `shouldSatisfy` a ->
name a == "someName"  &&
street (address a) == "someStreet"

相关内容

  • 没有找到相关文章

最新更新