我有一系列的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