1

我不想从我的 yesod 应用程序中获取资源并断言它与已知的 JSON 值匹配。

我可以看到里面有类型Yesod.Test.Json的函数assertJSON

assertJSON :: (ToJSON a, FromJSON a) => (a -> (String, Bool)) -> SResponse -> Session ()

但是没有示例用法,我无法仅从类型中弄清楚如何使用它。

我如何能够检查从我的 yesod 应用程序返回的 JSON 是否匹配?

4

1 回答 1

0

在我看来,您根据https://hackage.haskell.org/package/wai-test-0.1.1/docs/Network-Wai-Test.htmlSResponse获得了一个do 块(谷歌搜索并检查了该模块匹配一个由https://hackage.haskell.org/package/yesod-test-json-0.2.0.0/docs/src/Yesod-Test-Json.html导入的),选择您想要将 JSON 断言为的类型编码,构造一个函数,其第二个参数指定您想要的属性是否成立,其第一个参数指定要输出的错误(应该是imo)(检查源代码),然后应用于该函数和同一个 do 块内的表达断言。SessionSResponseaa -> (String, Bool)a -> Either String BoolassertJSONSResponse

于 2017-12-14T13:31:08.167 回答