我们的应用程序中有一个依赖于数据库的数据库架构,我们希望将这些数据库功能加载到测试数据库中。
具体来说,我们需要在Postgres数据库中创建实例化视图。
我尝试将structure.sql
转储到db
文件夹中,然后希望RAILS_ENV=test rake db:structure:load
后跟rake spec
(从没有模式的干净数据库开始)将引起测试DB具有视图。
但是,我必须在测试文件中显式调用视图创建才能使测试正常工作。该错误是Postgres错误,只是说视图/表不存在。
不用说,该视图位于开发数据库中,而代码实际上可以工作。只是对服务对象进行的单元测试无法检索视图的数据。
编辑,我还将config.active_record.schema_format(:sql)
添加到了config/environments/test.rb