【发布时间】:2017-05-15 01:37:32
【问题描述】:
例如,我正在 DB 中搜索 Model.find_by(slug: :name)。它在本地环境中工作正常,但在测试中它给了我零。 (我查了三次,db里有记录)。
我什至添加了调试来查看日志。当我执行Model.where(slug: :name).count 时,它返回 0。但是记录确实存在这个 slug 名称。
我该去哪里解决这个问题?
【问题讨论】:
-
您检查以确保开发和测试数据库相同?
-
“我检查了三次,db 中有记录” 检查了你的测试数据库或开发数据库,因为它们通常是默认和设计上的独立数据库跨度>
-
不,没有。但我检查了请求的记录是否存在。例如,我添加了调试器:使用“request.slug”,它返回给我'管理',我进入测试服务器数据库并找到带有 slug '管理'的记录。所以记录存在。
-
Ofc,我正在检查测试数据库。不是我的本地人!
-
你在使用任何测试框架吗?
标签: mysql ruby-on-rails ruby activerecord