Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 针对JSON API的Haskell功能测试_Unit Testing_Testing_Haskell - Fatal编程技术网

Unit testing 针对JSON API的Haskell功能测试

Unit testing 针对JSON API的Haskell功能测试,unit-testing,testing,haskell,Unit Testing,Testing,Haskell,我正在编写一个Haskell JSON API,我想编写一些测试。这件事真的很重IO,所以我认为编写一些功能测试是最有意义的:(添加一个Foo,看看是否/foos/返回它),等等 我当然读过QuickCheck,但它似乎专注于测试纯代码 我应该如何编写/运行需要测试API的功能测试?如果重要的话,我正在使用。虽然举个例子会很好,但是一个好的链接和一些建议也不错 我从未使用过它,但QuickCheck实际上支持测试一元代码。有关更多信息,请参阅。如果您的api有一些易于表达的不变量,那么这可能是测

我正在编写一个Haskell JSON API,我想编写一些测试。这件事真的很重IO,所以我认为编写一些功能测试是最有意义的:(添加一个Foo,看看是否/foos/返回它),等等

我当然读过QuickCheck,但它似乎专注于测试纯代码


我应该如何编写/运行需要测试API的功能测试?如果重要的话,我正在使用。虽然举个例子会很好,但是一个好的链接和一些建议也不错

我从未使用过它,但QuickCheck实际上支持测试一元代码。有关更多信息,请参阅。如果您的api有一些易于表达的不变量,那么这可能是测试它的好方法。(根据我使用纯代码的经验,QuickCheck覆盖了比我所能想到的更多的角落案例,这使得它非常有用。)

我有一篇未完成(但几乎完成)的博客文章来解释如何使用hspec测试wai应用程序。希望有帮助


相关问题:最简单的HTTP客户端库是什么?与中一样,handles PUT/DELETE,easy为您设置内容长度头?出于好奇,您编写另一个JSON库而不是使用现有的JSON库的用例是什么?为什么它的IO量很大?你确定不能对它进行重构以使其更纯粹吗?我不是在写另一个JSON库。我正在编写一个生成和使用JSON对象的web应用程序。它的IO量很大,因为它是一个web应用程序:)它主要从一个请求中获取一些数据,更新或读取一个数据库,并将一些数据吐出。你是对的,我可以测试纯比特,但我的大部分错误都在IO步骤中,所以我认为功能测试会很好。我让它工作起来与此类似:,但它会命中api调用100x,这似乎有些过分。有没有办法把它调下来?应该吗?您可以使用类似于
quickCheckWith stdArgs{maxSuccess=25}someProp
的方法来运行一个具有25个参数而不是100个参数的测试。