タグ

rspecに関するpinzoloのブックマーク (14)

  • RailsのRSpecテストを速くする方法まとめ - Rails Webook

    Photo by Flickr: chief_huddleston's Photostream Railsの規模が大きくなると自動テストの実行時間もだんだんと長くなっていきます。素早く開発していくにはテストの実行時間を短くすることが大切です。 RSpecのテストを速くする方法をまとめましたので参考にしてください。 動作確認 Rails 4.1 rspec-rails 3.1.0 test-queue 0.2.9 目次 1. RSpecのパフォーマンス測定 2. test-queueで並列でテストを実行する 3. rspec-guardを使って更新したファイルを自動的にテストする 4. Springを使ってテストのロード時間を短くする 5. ログレベルを変える 6. GCを実行を抑える 7. RSpecファイルのリファクタリングをする 7.1. itを少なくする 7.2. createよりも

    RailsのRSpecテストを速くする方法まとめ - Rails Webook
  • 私がMinitestとRailsのFixturesにハマった7つの理由 - 有頂天Ruby

    Brandon Hilkertの7 reasons why I'm sticking with Minitest and Fixtures in Railsの雑な日語訳です。 誤訳が雑すぎる訳やあれば、Twitterで@nilp_までお声かけいただくか、コメントやブコメで指摘してもらえると幸いです。 私がMinitestとRailsのFixturesにハマった7つの理由 私は先月グリーンフィールドのRails 4.1アプリの唯一の開発者として過ごす機会に恵まれました(訳注: なんの制約もないことをGreenfieldと言うそう)。 既存のコードをメンテするのにかなりの時間を費やしたことのある人にとって、 パターンを設け、ツールを選択する自由があることは非常に喜ばしい変化です。 私が行った選択の1つがMinitestとRailsのfixturesを使うことです。 端的にいうと、それは最高で

    私がMinitestとRailsのFixturesにハマった7つの理由 - 有頂天Ruby
  • 既存のRailsプロジェクトをRSpec 3.0にアップグレードする際の注意点 ~RSpec 3は怖くないよ!~ - Qiita

    はじめに とうとうRSpec 3が正式に公開されたので、早速手持ちのRailsプロジェクトをアップグレードしてみました。 アップグレードしたのはプライベートなプロジェクト4とパブリックなプロジェクト2の合計6です。 この記事では実際にRSpec 3にアップグレードしてみて困った点や気付いた点をまとめてみます。 注意: この記事は2014年6月4日時点の情報です この記事は2014年6月4日時点の情報です。 gemの最新バージョンや周辺ライブラリの対応状況が変化している可能性もあるので、アップグレードする際は適宜ネット上の最新情報を確認するようにしてください。 アップグレードの手順 手順はざっくりいうとこんな感じです。 現行のテストが全てパスすることを確認する rspec-railsのバージョンを2.99にアップグレードする rspecを実行して警告を確認する 警告を潰す rspec-

    既存のRailsプロジェクトをRSpec 3.0にアップグレードする際の注意点 ~RSpec 3は怖くないよ!~ - Qiita
  • RSpec 3の重要な変更 - 有頂天Ruby

    Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec

    RSpec 3の重要な変更 - 有頂天Ruby
  • End-to-End Testing with RSpec Integration Tests and Capybara

    Stability can become an issue as web applications evolve and grow – integration tests provide a great way to perform end-to-end tests that validate the application is performing as expected. Integration test with RSpec and Capybara When writing integration tests, try to model the test around an actor (user of the system) and the action they are performing. # spec/features/visitor_signs_up_spec.rb

    End-to-End Testing with RSpec Integration Tests and Capybara
  • Capybara の README 意訳 - おもしろwebサービス開発日記

    注意 この訳はだいぶ古い(2011年7月時のREADME)です。最新版の訳をgithub上に載せたのでこちらをご覧ください。 はじめに Rails のエンドツーエンドテスト用のデファクトスタンダードプラグイン Capybara の README 意訳です。いつもと比べて直訳成分多めです。 テスト関連はどうにも日語の情報が少なくて、覚えるのが大変ですね>< 概要 Capybara は Rack アプリ(Rails, Sinatra, Merb等)の統合テストを簡単にするのが目的です。Capybara は現実のユーザがウェブアプリとやりとりするのをシミュレートします。テスト用のドライバを選択できます。デフォルトでは Rack::Test と Selenium ドライバをビルトインでサポートしています。HtmlUnit, env.js は外部の gem としてサポートしています。 完全なリファ

    Capybara の README 意訳 - おもしろwebサービス開発日記
  • 環境変数を使って capybara のドライバの poltergeist と Selenium を使い分ける · けんごのお屋敷

    capybara を使ってテストを実行する時は、自分の好きなようにドライバを切り替えることができます。デフォルトでは Rack アプリケーションをテストするための rack-test というドライバが使われていますが spec_helper.rb で require 'capybara/rspec' Capybara.javascript_driver = :selenium という風に指定すると Selenium 用のドライバを利用して、テスト時は指定したブラウザ(デフォルトでは Firefox)が立ち上がるようになります。 poltergeist について capybara には他に poltergeist というドライバを利用することもできて、これは phantomjs というヘッドレスで動作するブラウザのようなものを利用したドライバです。Selenium の場合はブラウザが立ち上が

  • rspec-rails を 3.0.0.rc1 にアップデートする際に気をつけること - おもしろwebサービス開発日記

    rspec-rails を 3.0.0.rc1 にアップデートすると、きっとテストがこけまくるようになるはず。そんな時は spec_helper.rb に次の設定を足してあげてください。 config.infer_spec_type_from_file_location! これまでの rspec-rails は、例えば spec/controllers 配下のテストであれば自動で type: controller を付与してくれていました。しかしrc1から前述の設定を足してあげないと自動付与しなくなりました。 これ結構なハマリポイントだと思うのですが、あんまり周知されていないようなのでエントリ書いてみました。無駄に時間を費やす人が一人でも減ることを祈っております…。

    rspec-rails を 3.0.0.rc1 にアップデートする際に気をつけること - おもしろwebサービス開発日記
  • 英語で RSpec を書くために例文一覧を出力する - こせきの技術日記

    gems ディレクトリの */spec/**/*_spec.rb ファイルに対して 'it .* do' を grep する。 cd ~/.rvm/gems/ruby-1.9.3-p327/gems find */spec -type f -name '*_spec.rb' | xargs grep -ho 'it .* do' | sort | uniq | lessみたいな感じ。以下のような出力が得られる。 : it "accepts a URL as the path" do it "accepts a block to change output" do it "accepts a block" do it "accepts a body" do it "accepts a class as argument with a task to invoke" do it "accept

    英語で RSpec を書くために例文一覧を出力する - こせきの技術日記
  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
  • RSpec の入門とその一歩先へ - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 東京 Ruby 会議 03 の RSpec ワークショップの資料です。このワークショップでは参加者の方に「写経」(コードを書き写すこと)をして貰い、TDD/BDD と RSpec を同時に学べるように都度説明を入れるかたちで行いました。 第2イテレーションも書きました。続きに興味ある方はご覧下さい (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 1st iteration favotter の みたいな NG ワードのフィルタリング機能を RSpec で作りましょう。まずは NG ワードの検出機能を作成します。 このイテレーションでは最初ベタな形のテストコードと実装を書き、だんだんとそのコードを洗練させてゆきま

    RSpec の入門とその一歩先へ - t-wada の日記(旧)
  • はてなブログ | 無料ブログを作成しよう

    地元と文化活動の思い出(地元でのライブの思い出) 美術手帖の編集長が帰省中に『巨大なイオンモールだけが煌々と明るい地方都市に帰省すると、美術の「美」の字も見つけられないと』ツイートしたことが炎上していた。 調べるとどうやら編集長は私の地元・伊賀市のすぐ近くの鈴鹿市出身らしい。 鈴鹿の事情はあまり知ら…

    はてなブログ | 無料ブログを作成しよう
  • Rails3でRSpec - Everyleaf Lab

    五十嵐(igaiga)です。 Rails3でRSpecを使おうとしてはまったので日記を書きます。 Gemfile へ以下のように書いて gem 'rspec-rails' bundle install するとRSpec1系がインストールされてしまいます。(2010.9.8現在) Rails3ではRSpec2系を使いたいので、以下のように書き直してみたのですが、 gem 'rspec-rails', '>= 2.0.0' 今度は2.0.0はまだリリースされていないと言われます。 ベータバージョンを明に書くのは嫌だな、と思ったら、ursmさんのページに以下のような記述が。 gem 'rspec-rails', '>= 2.0.0.beta' これで最新のRSpec2系beta版がインストールされるようになりました。 あとは bundle install rails g rpsec:instal

  • [Rails] RSpec on Railsを始めてみた - インストールと実行

    RSpec on Railsのさわりだけ。 おそばせながら今頃、BDD(Behaviour Driven Development)を知りました。。。 これからはきちんとBDD or TDDで開発を進めます。 BDDはテスト駆動開発と言葉の言い回しが大きく異なっている。 「ベヒイビアを書いて仕様を設計する。」これが大きなポリシー。 BDDでは必ず仕様コード(spec)を書いてから実際のコーディングを行う。 Rubyには、RSpecというツールがありこれを利用する。 gemパッケージが用意されているので簡単。 $ gem install rspec 次にRSpec on Railsプラグインをインストール。 REL_X_Y_Zの部分をrspecのバージョンとあわせる必要がある。 $ cd RAILS_ROOT $ ruby script/plugin install svn://rubyfor

  • 1