28

我正在学习 nodejs,并且我有一个必须与之交互的 mongodb 数据库。我目前正在考虑将 mocha 用于单元测试框架,将zombie.js 用于验收测试框架。我想知道如何进行全面的验收测试来影响 mongodb 数据库。是否有一个框架/模块可以帮助用测试数据库替换数据库,或者 mocha 或zombie.js 是否具有可以轻松用于替换数据库的功能。

还有一个框架类似于创建数据库对象的工厂(而不是固定装置)的想法。

我在 Rails 世界中遇到的一个类似概念是在 rspec 中,有一个 spec_helper.rb 文件在运行测试之前运行,它设置项目配置来决定在运行测试时要访问哪个数据库。它使用 database_cleaner 在运行测试之前清理测试数据库。对于工厂,我在 Rails 世界中再次使用 Factory girl 从数据库模式创建工厂对象。

谢谢

4

2 回答 2

3

如果您的数据库访问是一个单独的模块,您可以使用以下方法之一模拟模块或模块的一部分(例如,配置部分):

以下相关问题的答案列出了许多可能的解决方案/方法: 如何在 Node.js 中模拟 MySQL(没有 ORM)?

于 2012-06-05T22:00:32.307 回答
3

为了启动一个真正的内存中 mongodb 进行测试,https://github.com/nodkz/mongodb-memory-server也有帮助。

于 2018-08-03T12:27:50.993 回答