我最近完成了https://github.com/mercmobily/JsonRestStores。由于我还没有编写任何单元测试,我感到有些不安。
该模块充其量是难以测试的:它允许您创建 Json REST 存储,并直接使用 API 与存储交互。
所以,单元测试应该:
启动一个实现多个商店的 Web 服务器。理想情况下,我应该为我认为的每个测试功能都有一个商店
使用 HTTP 调用和直接 API 调用在操作该存储时测试结果
问题是每个商店都可以覆盖很多功能。更复杂的是,商店有一系列可以使用的数据库驱动程序(嗯,可能——目前我只有 MongoDB 驱动程序)。所以,想用 MongoDB 测试模块,我必须先创建一个集合,然后使用每个 DB 层测试东西......
我的意思是,这将是一项非常史诗般的任务。任何人都可以阐明如何使这样的事情变得更简单吗?它似乎拥有从地狱中进行单元测试的所有要素(API 调用、直接调用、数据库、不同的可配置 DB 驱动程序、鼓励方法覆盖的高度可配置类......)
帮助?