以下の内容はhttps://blog.kyanny.me/entry/2012/05/11/032528より取得しました。


Rake の task に対する spec の書き方

rake-confirm という gem を作ってもらったのでさっそく使ってみたところ、 db:rollbackdb:fixtures:load も production 環境でのうっかり実行を防ぎたかったので Pull Request を送った

テストのない Pull Request は reject されそうだなあと思ったので、 Rake の task はどうテストしたらいいのか調べてみたところ、

  • rake-confirm は Rake::Task#enhance を使って事前タスクというものを追加している
  • Rake::Task#prerequisites というメソッドは、タスクに追加された事前タスクのリストを返す

ということがわかった。それを踏まえて書いたテストがこれ https://github.com/hsbt/rake-confirm/commit/92b42a371335a614566d3e40ebc6ff35f91c7833

一般化して書くと、こうなる。




以上の内容はhttps://blog.kyanny.me/entry/2012/05/11/032528より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14