我知道在Rails应用程序中,我可以使用Rspec为控制器和模型编写测试。
可是:
在Rails应用程序开发中,Rspec是否也可用于上述两种情况,还是有其他方法可以实现这些测试?
另外:
我有一个rake任务,用于通过从另一个数据库获取数据并插入应用程序数据库来更新Rails应用程序的数据库(当然首先清理应用程序数据库)
我想测试这些,怎么做?
答案 0 :(得分:1)
不要在rake任务中使用代码,而是执行以下操作:
desc "Charge Customers Daily"
task :charge_customers => :environment do
CustomerCharges.create
end
这样,您可以像往常一样在customer_charges_spec.rb文件中编写rspec测试。
答案 1 :(得分:0)
也许这会有所帮助:
http://www.philsergi.com/2009/02/testing-rake-tasks-with-rspec.html
要测试cron作业,您只需重定向到cron本身的日志文件,例如:
命令> /tmp/log.txt 2>& 1
通常,如果您打算在rake任务中执行db插入和填充,我会重新考虑并将其写为单独的ruby模块。我认为这种方式更加灵活。