例如,我在数据库Model.find_by(slug: :name)
中搜索某些内容。并且它在本地环境中工作正常,但在测试中它给我零。 (我检查了三次,并且在db中有记录。)
我甚至添加了调试来查看日志。当我做Model.where(slug: :name).count
时,它会返回0.但是这个slug名称确实存在记录。
我在哪里解决这个问题?
答案 0 :(得分:0)
运行测试时,Rails使用不同的数据库。常见的约定是projectname_development vs projectname_test(最后是projectname_production)。
通常,测试系统在运行测试之前也会清除测试数据库。这有两个原因:
您必须为每个测试设置测试数据。你没有提到你使用的测试系统。
答案 1 :(得分:0)
存储在测试数据库中的数据是临时的,并在测试结束后删除。 开发数据库独立于测试数据库。