我正在编写Haskell JSON API,我想编写一些测试。事情真的是IO很重,所以我认为编写一些功能测试最有意义:(添加一个Foo,看看是否/ foos /返回它)等等。
我当然读过关于QuickCheck的内容,但它似乎专注于测试纯代码。
我应该如何编写/运行需要测试API的功能测试?如果重要,我正在使用Scotty/WAI。虽然一个例子会很棒,但是一对好的链接和一些建议会很好。
答案 0 :(得分:3)
我从未使用它,但QuickCheck实际上 支持测试monadic代码。请查看Testing IO actions with Monadic QuickCheck以获取更多信息。如果你的api有一些容易表达的不变量,这可能是测试它的好方法。 (根据我使用纯代码的经验,QuickCheck涵盖了比我想象的更多的角落情况,这使它非常有用。)
答案 1 :(得分:1)
我有一个半生不熟(但差不多完成)的博客文章,解释如何使用hspec测试wai应用程序。希望它有所帮助!
https://github.com/fujimura/wai-hspec-example/blob/master/testing-wai-app-with-hspec.md https://github.com/fujimura/wai-hspec-example