Mongodb 如何在meteor中建立独立的测试和开发数据库

Mongodb 如何在meteor中建立独立的测试和开发数据库,mongodb,tdd,meteor,Mongodb,Tdd,Meteor,我已经为我的meteor应用程序编写了一些测试。由于它们具有删除所有文档或填充新文档的安装和拆卸方法,因此我希望在专用于测试的数据库上运行它们 我注意到数据库存储在.meteor/local/db中。理想情况下,我希望从不同的端口访问db_test和db_dev 这可能吗?您必须运行两个mongod进程,例如 # Dev mongod --port 27017 --dbpath .meteor/local/db_dev # Testing mongod --port 28017 --dbpat

我已经为我的meteor应用程序编写了一些测试。由于它们具有删除所有文档或填充新文档的安装和拆卸方法,因此我希望在专用于测试的数据库上运行它们

我注意到数据库存储在.meteor/local/db中。理想情况下,我希望从不同的端口访问db_test和db_dev


这可能吗?

您必须运行两个
mongod
进程,例如

# Dev
mongod --port 27017 --dbpath .meteor/local/db_dev

# Testing
mongod --port 28017 --dbpath .meteor/local/db_test

[编辑]这应该行得通。使用排行榜示例项目:

MONGO_URL="mongodb://127.0.0.1:27017/appname_dev" meteor run --port 3000
MONGO_URL="mongodb://127.0.0.1:28017/appname_test" meteor run --port 4000

这将使用单独的数据库。

这将是理想的选择。然而,要在meteor项目中启动mongo进程,我必须使用meteor命令,据我所知,该命令有一个--port标志,但无法指定不同的数据库。无论如何谢谢。更新了我的答案。让我们知道进展如何。你在排行榜上得到了吗?我刚刚在我的项目中尝试过,当我在第二行运行命令时,我得到了一些错误:意外的mongo退出代码100。重新启动。不能启动mongod。检查在端口4002上侦听的其他进程或在同一项目中运行的其他流星。我开始觉得Meteor的家伙们有不同的测试理念,我只是在忍受Rails的宿醉;)再次感谢你的贡献。它向我展示了我应该探索的地方。是的,在排行榜的例子中我做得很好。您确定第二个端口上没有运行任何内容吗?