1

我继承了一个 Rails 项目,其中(SQLite)开发和测试数据库是相同的,如 database.yml 文件。

这有什么好处吗?为什么会有人这样做?

4

2 回答 2

2

测试数据库通常会被测试覆盖(除非您使用事务性固定装置)。如果测试和开发数据库相同,则每次运行测试套件时都会删除您的数据。开发数据可能会干扰测试套件并使其不可靠。

我会清楚地认为这是一个设计错误。没有理由,你应该这样做。甚至database.yml在新创建的 Rails 应用程序中也指出:

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
于 2012-08-01T22:54:06.340 回答
1

这没有任何优势。有缺点。测试和开发或生产数据库应该是不同的。很多人将测试和开发设置保持不变,这并不是什么大问题,因为最重要的是生产数据库。这就是我能想到的原因,这就是之前的开发者。在项目上这样做。但它不应该是这样的。

于 2012-08-01T23:00:20.280 回答