我不想从我的 yesod 应用程序中获取资源并断言它与已知的 JSON 值匹配。
我可以看到里面有类型Yesod.Test.Json
的函数assertJSON
assertJSON :: (ToJSON a, FromJSON a) => (a -> (String, Bool)) -> SResponse -> Session ()
但是没有示例用法,我无法仅从类型中弄清楚如何使用它。
我如何能够检查从我的 yesod 应用程序返回的 JSON 是否匹配?
我不想从我的 yesod 应用程序中获取资源并断言它与已知的 JSON 值匹配。
我可以看到里面有类型Yesod.Test.Json
的函数assertJSON
assertJSON :: (ToJSON a, FromJSON a) => (a -> (String, Bool)) -> SResponse -> Session ()
但是没有示例用法,我无法仅从类型中弄清楚如何使用它。
我如何能够检查从我的 yesod 应用程序返回的 JSON 是否匹配?
在我看来,您根据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 块内的表达断言。Session
SResponse
a
a -> (String, Bool)
a -> Either String Bool
assertJSON
SResponse