使用MongoDB进行单元测试查询

时间:2015-01-24 22:37:46

标签: node.js mongodb unit-testing

我目前正在建立一个休息api,我正在努力寻找对每条路线进行单元测试的最佳方法。

路由处理程序执行各种操作,其中之一是执行对mongodb的查询。我可以通过使用存根来对路由处理程序进行单元测试,但是如果我测试查询我不能查询查询本身,我需要有一个内存中的mongodb,我可以重置并为每个测试插入新数据。 / p>

您如何测试查询?我认为确保查询完成我需要的唯一真正方法是使用安装在测试机器中的真实mongodb数据库(通常在用于开发的同一台机器上)。

1 个答案:

答案 0 :(得分:1)

是的,就像关系数据库一样,你需要有真正的基础。如果mongo提供内存自动创建的版本,那么它很容易。如果没有,那么每个开发人员必须在运行集成测试之前运行mongo。对于CI,您可以拥有一个专用的mongo,但您必须防止并发访问(架构创建,多个事务等)。如果需要,您还应该实现模式的自动创建,并在每次测试之前清空数据库。在关系数据库回滚中通常就足够了。当它还不够时,修剪所有表有帮助。虽然我们不得不手动实施它,因为我们找不到任何现有的工具