【发布时间】:2012-05-09 19:46:39
【问题描述】:
我正在学习 nodejs,并且我有一个我必须与之交互的 mongodb 数据库。我目前正在考虑将 mocha 用于单元测试框架,将zombie.js 用于验收测试框架。我想知道如何进行全面的验收测试来影响 mongodb 数据库。是否有框架/模块可以帮助用测试数据库替换数据库,或者 mocha 或zombie.js 是否具有可以轻松用于替换数据库的功能。
还有一个类似于工厂(而不是固定装置)思想的框架来创建数据库对象。
我在 Rails 世界中遇到的一个类似概念是在 rspec 中,有一个 spec_helper.rb 文件在运行测试之前运行,它设置项目配置以决定在运行测试时要访问哪个数据库。它使用 database_cleaner 在运行测试之前清理测试数据库。对于工厂,我使用 Factory girl 在 Rails 世界中再次从数据库模式创建工厂对象。
谢谢
【问题讨论】:
-
我创建了一个库来允许 factory_girl/machinist 行为 - ectypes(奇怪的词,但当你知道它的意思时才有意义)。这与 Ruby 世界有点不同,因为 Node.js 中没有标准的 ORM/ODM,因此您必须为持久层定义一个“策略”。它们并不难制作。我现在有一个用于 Sequelize。见github.com/nicholasf/ectypes.js
标签: node.js mongodb integration-testing mocha.js zombie.js