我有一系列的Rake文件Rake任务,我想测试我的规格等各项任务在表单中定义的一部分:我可以重写test_helper.rb中的task来测试rake任务吗?
task :do_somthing => :environment do
# Do something with the database here
end
凡:环境任务设置一个ActiveRecord/DataMapper数据库连接和类。我没有将它作为Rails的一部分,但我有一系列我喜欢作为BDD的一部分运行的测试。
这段代码演示了我如何测试rake任务。
def setup
@rake = Rake::Application.new
Rake.application = @rake
load File.dirname(__FILE__) + '/../../tasks/do_something.rake'
end
should "import data" do
@rake["do_something"].invoke
assert something_in_the_database
end
所以我请求帮助 - 这可能为忽略的:在我的test_helper.rb中文件环境的任务,所以我我耙测试与我的测试数据库交互,而不是生产的?我已经尝试在帮助程序文件中重新定义任务,但这不起作用。
解决方案的任何帮助都很好,因为过去一周我一直坚持这一点。
谢谢您的回答麦克来测试我的Rake任务。我已经做了多一些,在平均时间耙乱搞,我认为在test_helper.rb中这两种方法可能会争取解决一些方法。 高清rake_up Rake.application =耙:: Application.new 耙:: Task.define_task:环境 Rake.application 结束 高清rake_down Rake.application =零 结束 – 2009-05-29 14:57:01
似乎是博客文章的链接死了。我能找到的内容,唯一的地方就在这里:什么投入Rake任务(http://www.artima.com/forums//threaded.jsp?forum=123&thread=251328) – ThomasW 2012-02-23 08:38:47