Rake タスクをテストするとき、テストコード内で #invoke で呼び出すと、二回目の実行時に Rake タスクが実行されません。 describe 'hoge' do before(:all) do @rake = Rake::Application.new Rake.application = @rake Rake.application.rake_require("hoge", ["#{Rails.root}/lib/tasks"]) Rake::Task.define_task(:environment) end describe "rake hoge" do context "Rake タスク実行後" do before do @rake["book:dismissed_suppliers"].invoke end it "hoge 一回目" do # Rake タスクが実行
![Rake タスクをテストコードの中で複数回実行する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d7d0cbf918e2659b529560c0201d197acb14443e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UmFrZSUyMCVFMyU4MiVCRiVFMyU4MiVCOSVFMyU4MiVBRiVFMyU4MiU5MiVFMyU4MyU4NiVFMyU4MiVCOSVFMyU4MyU4OCVFMyU4MiVCMyVFMyU4MyVCQyVFMyU4MyU4OSVFMyU4MSVBRSVFNCVCOCVBRCVFMyU4MSVBNyVFOCVBNCU4NyVFNiU5NSVCMCVFNSU5QiU5RSVFNSVBRSU5RiVFOCVBMSU4QyVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NDQ5ZDY3NjRhNThkM2Y4NDA0ZTA5NzM5ODY3ZWRiOWQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtb3J5Z29uemFsZXomdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTFiNDAzMDFhMDFjYjY2YjE0MWRiM2UyMzI2MTIzZTg5%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D9416979e033d84403e9d4383bc938d7d)