RSpec设置用于依赖于来自其他应用程序的外部数据库的应用程序

时间:2009-11-23 14:22:00

标签: ruby-on-rails ruby database rspec external

我必须向依赖于来自其他应用程序的数据库的应用程序添加功能。我已经能够建立与此外部数据库的连接并从中提取数据。但是,我不知道如何让我的主应用程序为这个外部应用程序创建一个测试数据库。

如果有某种方法可以引入此数据库的模式并以与“rake db:test:prepare”相同的方式创建它,那将是非常棒的。 RSpec是否有任何配置功能可以执行此操作,还是我必须完成自己的任务?

3 个答案:

答案 0 :(得分:0)

这是一个Rails应用程序吗?如果是这样,即使您使用的是RSpec,db:test:prepare任务和相关任务仍然可以正常工作。

答案 1 :(得分:0)

我不知道有任何简单的方法可以做到这一点。 您可以准备一个sql架构,并通过自定义rake任务将其加载到测试数据库中

但如果是进行测试,那么您可能需要查看工厂 例如Factory girl

“factory_girl是一个固定装置替代品,具有简单的定义语法,支持多种构建策略(保存的实例,未保存的实例,属性哈希和存根对象),并支持同一个类的多个工厂(user,admin_user和所以),包括工厂继承。“

screencast

答案 2 :(得分:0)

I ended up just running "rake db:test:prepare" for the external application and update the database configs of the application I'm developing to include the test DB for the external application. I'd like to automate the 'rake db:test:prepare' for the external app, however I don't see myself updating its schema that often.