我知道RSpec具有有用的方法“get”和“response.should”来运行集成测试 - 我想知道如何使用这些(或其他的方法来达到同样的效果)在Rake任务:Rails - 在Rake任务中使用RSpec“get”和“response”方法
desc "Check all content items with type 0 and do something"
task :my_task => :environment do
ContentItem.where("content_type = ?", 0).each do |obj|
get "/my_path/"+obj.value
if (response has a certain html tag)
perform some action on obj
end
end
end
我知道,我不能只运行rspec的方法类似,但这是有效的什么,我需要做的,我需要能够处理/my_path/obj.value打开时返回的信息。有没有人有什么建议?
我同意Taryn,这将是理想的 - 问题是,信息正在计算出的视图,所以我不能将其移动到模型。基本上,有些网站在我们尝试将它们加载到我们网站的框架中时有时会丢帧,并且我们试图保留数据库记录,以确定远程URL是否启用了帧清除功能(这就是这个耙子任务应该是这样的这样做),以便我们不尝试加载它们,如果它们被破坏。 – Kvass
所以我试图运行一个耙子任务,基本上运行一个GET HTTP请求的页面,试图框架的网址,然后如果框架被捣毁标记它在数据库中。 – Kvass
好的 - 我添加了一个编辑功能,可以为您提供一些示例性的宝石,可以帮助您在途中。祝你好运 - 听起来像它可能会很棘手,因为即使net :: http可能实际上不会触发一个框架。我不知道这会如何为你显示。但至少这是一个开始:) –