【发布时间】:2013-09-27 03:44:36
【问题描述】:
我将我的 database.yml 文件更新为如下所示:
test:
adapter: postgresql
encoding: unicode
database: startpoint_test
hostname: localhost
pool: 5
username: postgres
password: password
development:
adapter: postgresql
encoding: unicode
database: startpoint_dev
pool: 5
username: postgres
password: password
现在看来,当我运行我的应用程序并注册一个新用户时,开发数据库没有插入新用户...
注册新用户的测试全部通过
【问题讨论】:
-
您是否更改了任一数据库的名称?
-
他们都说 startpoint_dev。测试适用于明显的测试,那里没有问题....如果他们是工厂女孩,就不会告诉我她何时创建用户对象并将它们保存到数据库中。和 rake db:migrate 都适用于 ....
-
出于多种原因,在两种环境中使用相同的数据库并不是一个好主意。您的测试中是否运行了类似 DatabaseCleaner 的东西?当您说“注册新用户”时,您是指通过网站还是通过 rails 控制台?既然您提到了 FactoryGirl,我假设您只是直接创建用户进行测试。
-
我使用了两个独立的数据库,如您所见,startpoint_test 用于测试,startpoint_dev 用于开发
-
对不起,我想我被你之前的评论弄糊涂了。无论如何,如果您可以发布更多详细信息(控制器代码、通过测试、相关服务器日志),我们可能会提供帮助,但您的问题可能无法回答。
标签: ruby-on-rails ruby rspec dbmigrate