我想知道测试使用数据库后端的REST API的最佳/不同方法。我在Python中使用Flask开发了我的API,并且想要使用unittest或nose。
但我的问题是,一些资源需要另一个资源来创建它们。有没有办法说测试博客文章的创建需要另一个涉及作者创作的测试是否成功?
我想知道测试使用数据库后端的REST API的最佳/不同方法。我在Python中使用Flask开发了我的API,并且想要使用unittest或nose。
但我的问题是,一些资源需要另一个资源来创建它们。有没有办法说测试博客文章的创建需要另一个涉及作者创作的测试是否成功?
有两种标准方法可以接近依赖于其他东西的测试(对象,函数调用等)。
有些人喜欢“经典”单元测试,其中只测试代码的“单元”。在这些情况下,您通常使用模拟和存根来替换依赖项。
其他类似于更多综合测试,其中大多数或所有调用堆栈都经过测试。在这些情况下,您可以使用夹具,甚至可以在设置功能中进行调用/创建。
一般来说你会 不 让一个测试依赖于另一个。所有测试应该:
如果您使一个测试依赖于另一个测试,则它们不能单独运行,并且您也强制命令运行测试。在测试中执行命令并不好,事实上很多人都认为你应该随机化测试运行的顺序。
单元测试应该在隔离模式下工作,因此您必须隔离依赖的资源,并使用隔离框架(模拟框架)完成此操作。旧版Windows系统的通用框架是 DevMagicFake, MOQ, 犀牛嘲笑, TypeMock。
DevMagicFake将使您能够伪造数据库,因此您不需要创建数据库甚至任何代码来保存数据,因为它将数据保存在内存中,您可以随时检索它。