【问题标题】:Assert json matches using Yesod.Test使用 Yesod.Test 断言 json 匹配
【发布时间】:2018-05-28 12:11:14
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: json haskell integration-testing yesod yesod-test


    【解决方案1】:

    在我看来,您在 Session 块中获得了 SResponse https://hackage.haskell.org/package/wai-test-0.1.1/docs/Network-Wai-Test.html(谷歌搜索 SResponse 并检查模块是否与 https://hackage.haskell.org/package/yesod-test-json-0.2.0.0/docs/src/Yesod-Test-Json.html 导入的模块匹配),选择类型 @987654326 @ 你想要断言 JSON 进行编码,构造一个函数 a -> (String, Bool),它的第二个参数指定你想要的属性是否成立,它的第一个参数指定要输出的错误,否则(应该是 a -> Either String Boolimo)(检查源) ,然后将assertJSON 应用到函数和同一do 块中的SResponse 以表达断言。

    【讨论】:

      猜你喜欢
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2016-01-05
      相关资源
      最近更新 更多