我正在学习nodejs,我有一个mongodb数据库,我必须与之交互。我目前正在考虑使用mocha作为单元测试框架,使用zombie.js作为验收测试框架。我想知道怎样才能进行全面的验收测试,这些测试打到了mongodb数据库。是否有框架/模块可以帮助用测试数据库替换数据库,或者mocha或zombie.js具有可以轻松用于替换数据库的功能。
还有一个框架类似于工厂(而不是夹具)在创建数据库对象时的想法。
我在rails世界中遇到的类似概念是在rspec中,有一个spec_helper.rb文件在运行测试之前运行,该文件设置项目配置以决定在运行测试时要命中哪个数据库。它在运行测试之前使用database_cleaner清理测试数据库。对于工厂,我使用Factory girl在rails世界中再次从数据库模式创建工厂对象。
由于
答案 0 :(得分:3)
有一些
http://mongodb.github.com/node-mongodb-native/github/github.html#test-helpers-and-libraries
但您可能只想在github上搜索或在Google群组中提问。
答案 1 :(得分:2)
如果您的数据库访问是一个单独的模块,您可以使用以下方法之一模拟模块或模块的一部分(例如,配置部分):
以下相关问题的答案列出了许多可能的解决方案/方法: How do you mock MySQL (without an ORM) in Node.js?
答案 2 :(得分:0)
为了启动一个真实的内存mongodb进行测试,https://github.com/nodkz/mongodb-memory-server也有帮助。