タグ

RSpecに関するkano4のブックマーク (35)

  • RSpecによるユニットテストの書き方 — recompile.net

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

    RSpecによるユニットテストの書き方 — recompile.net
    kano4
    kano4 2012/04/21
  • transitive.info - RSpec 使い方

    RSpec 使い方 環境は rspec 2.5.0 以降を使用している。 ある行番号のエクスペクテーションを実行する rspec コマンドに「-l」オプションを使って行番号を指定する。 rspec -l 10 example_spec.rb エクスペクテーションを途中まで定義する it メソッドにブロックを書かないと保留される。 it "shoule do something" また、pending メソッドを使う。 it "should do something" do pending("under construction") end ある条件のときに実行するエクスペクテーションを定義する it に :if または :unless オプションで条件を指定する。 たとえば Ruby のバージョンによって実行するかどうかを変えるには it "does something", :if =>

    kano4
    kano4 2012/03/02
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 最近やってるRailsプロジェクトのテスト方法 - #詰んでる日記

    Railsエンジニアになってから1年半くらいが経ち、社内のRailsプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が

    最近やってるRailsプロジェクトのテスト方法 - #詰んでる日記
    kano4
    kano4 2012/02/05
  • はてなブログ | 無料ブログを作成しよう

    台北市立動物園と迪化街めぐり 子連れ台湾#5 年越し台湾旅行5日目、レジャーや友人との事を楽しむ日です。前日の様子はこちら www.oukakreuz.com 台北市立動物園へ パンダ館 パンダが見られるレストラン 迪化街へ 林茂森茶行でお茶を購入 小花園で刺繍グッズを購入 黒武士特色老火鍋で夕 台北市立動物園へ 松…

    はてなブログ | 無料ブログを作成しよう
    kano4
    kano4 2011/12/22
  • RubyのRSpecでリボルバーを作ってロシアンルーレットしようよ! - hp12c

    今までコードを書くとき 正直あまりまじめにテストをしてこなかったよ でもいつまでもそういう訳にはいかないだろうから 以下の記事を参考にしてRSpecをやってみたんだ RSpec の入門とその一歩先へ - t-wadaの日記 Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編) そうしたら次のようなことが分かったんだよ RSpecは設計図 RSpecはなんかたのしい でこの感覚をみんなと共有できればと思ったので RSpec入門者の僕がRSpecを使って ここで何か作ってみるよ さて 何を作ろうか.. 何か実用的で楽しいものがいいよね そうだ折角だからなかなか手に入らないものがいいね なかなか手に入らないものといったら.. もちろん輸入禁制品だよね! そんなわけで.. RubyのRSpecを使ってけん銃を作るよ

    RubyのRSpecでリボルバーを作ってロシアンルーレットしようよ! - hp12c
    kano4
    kano4 2011/12/19
  • Railsで、サブドメインやドメインによる制約のかかったルーティングのテストをどう書くか。 - Sooey

    Railsで、サブドメインやドメインによる制約のかかったルーティングのテストをどう書くか。 以下のようにサブドメインによってコントローラが変わるルーティング定義をした場合、 # config/routes.rb root :to => 'admin/dashboard#index', :constraints => { :subdomain => 'admin' } root :to => 'dashboard#index' RSpecでのルーティングのテストはこう書く。 # spec/routing/root_routing_spec.rb context "admin.example.com" do describe "GET /" do subject { { :get => 'http://admin.example.com/' } } it { should be_routabl

    kano4
    kano4 2011/12/14
  • the rspec book - Chapter 12 Spec::Example その1 - おもしろwebサービス開発日記

    The RSpec Bookを読んでの自分用メモです。サブアカの方にメモっていこうかと思いましたが、RSpecの情報はあまり世に出ていないけど需要はありそうな気がしたのでこっちに書きます。意訳と感想がごっちゃになっているし、自分が知ってる情報については省略しているので見づらいかもしれませんがご了承ください。 今のところの全部についてメモしようと思っていますが飽きたら終わります。あと順番も適当です。 基礎知識 BDD用の言葉とrspecのメソッドの対応でこんがらがるのでメモ describeメソッド example groupを定義するメソッド itメソッド exampleを定義するメソッド shouldやmatcha expectationを定義するメソッド DSLを使うメリット RSpecはDSLでテストを書いていく。code exampleを(describeやitを使わずに)クラス

    the rspec book - Chapter 12 Spec::Example その1 - おもしろwebサービス開発日記
    kano4
    kano4 2011/12/12
  • I18n 使うときはspec_helperにデフォルトのlocaleを書こう - Y’watcher

    rails3 RSpec.configure do |config| config.before(:each) do I18n.locale = :ja end end

    kano4
    kano4 2011/12/05
  • HADASHI RaterBug.com - Building a Respectful Video Community

    Log in to your Heroku account from this secure Heroku login page.

    kano4
    kano4 2011/12/03
  • RSpec を使い始める人が読むべき N 個のドキュメント

    こんにちは、ほりいです。Asset Pipeline に感銘を受けている今日この頃です。 今日は社内で RSpec をこれから勉強したいんだけど検索してもよくわからない!と質問を受けたので、読むべきエントリをまとめてみました。 # 現状ぐぐると RSpec.info がまず出てくるけどもう更新されてないっぽいので優しくないんですよね…… h2. これは読んでおこう! h3. スはスペックのス * “スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)”:http://jp.rubyist.net/magazine/?0021-Rspec * “スはスペックのス 【第 2 回】 RSpec on Rails (コントローラとビュー編)”:http://jp.rubyist.net/magazine/?0023-Rspec 内容は若干古いのですが、

    RSpec を使い始める人が読むべき N 個のドキュメント
    kano4
    kano4 2011/12/01
  • RubyでTDDをやる際に、ちょっと便利になるVimの設定 - joker1007’s diary

    先日のTDDBC繋がりで、Vimネタを一つ。 Railsを書く時は、rails.vimがRSpecのシンタックスハイライトや、 関連ファイル間の移動を面倒見てくれますが、 Railsの世界から出ると(ディレクトリ構成、命名規則が変わると) rails.vimが使えなくなるため、そのあたりの機能が動いてくれなくなります。 なので、素のRubyコードを書く時や、 Sinatraなどをもっとシンプルなディレクトリ構成で開発している時に、 RSpecのシンタックスハイライトを行う設定と、 実装とSpecを手早く切り替えるためのプラグインを紹介します。 RSpecのシンタックスハイライト rails.vimではautoload/rails.vimの中で呼ばれている、 シンタックスハイライトを実現している部分から、 RSpecに関係する所だけ設定を持ってきて、vimrcに書いてしまえばシンタックスハイ

    RubyでTDDをやる際に、ちょっと便利になるVimの設定 - joker1007’s diary
    kano4
    kano4 2011/11/10
  • RSpecの構文 - Start! Ruby

    * RSpecの構文 見は、これ http://github.com/mitim/tddbc-lrucache/blob/master/lru_cache_spec.rb ** 慣習 RSpec用のテストとして書くテストコードは、[テスト対象のファイル]_spec.rb という名前でつくる。 ** なにはなくともrequire require 'lru_cache' テスト対象のファイルを読み込ませる。 ちなみに、RSpecの何かをrequireする必要なない。 ** まずは基 describe do end で、一番外側のブロックを記述する。 通常は、次のようにテスト対象のクラスを宣言しておく。 describe LRUCache do end また、一緒に説明を付けることも可能。 describe LRUCache, "を初期化する場合" do end もちろん、説明だけにすること

    RSpecの構文 - Start! Ruby
    kano4
    kano4 2011/10/10
    マッチャが色々書いてある
  • Railsでテストを書いてみる(Rspec:Controller編) - KodaNote

    コントローラもテストしてみる。 ページにアクセスしてサクセスが返ることと、期待するテンプレートを表示することを確認するシンプルなケース 画面にアクセスするのは get :アクション名 成功が返るのは response.should be_success テンプレートの表示判定は response.should render_template("XXXX") describe '登録画面にアクセスしたら' do before do get :add_index end it 'サクセスであること' do response.should be_success end it '登録画面を表示すること' do response.should render_template("tunes/add") end end フォームからデータを送信したケースのテスト post でアクションに対してパラメータ

    Railsでテストを書いてみる(Rspec:Controller編) - KodaNote
    kano4
    kano4 2011/09/06
  • https://www.func09.com/wordpress/archives/532

    kano4
    kano4 2011/07/25
  • Route 477(2010-10-08)

    ■ [rails] deviseとテストについて メモです。 http://github.com/plataformatec/devise (Test helpersの項) TestHelpersを使う Test::Unitの場合 → test/test_helper.rb class ActionController::TestCase include Devise::TestHelpers end RSpecの場合 → spec/support/devise.rb RSpec.configure do |config| config.include Devise::TestHelpers, :type => :controller end sign_in :user, @user # sign_in(scope, resource) sign_in @user # sign_in(re

    Route 477(2010-10-08)
  • ASCIIcasts - “Episode 257 - request specとCapybara”

    257: request specとCapybara  (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto ハイレベルテストは、Railsアプリケーションをテストする優れた方法です。この種のテストでよく用いられるCucumberについて、エピソード155[動画を見る, 読む]で取り上げました。Cucumberの、アプリケーションの振る舞いを英語の文法で定義するやり方が好きではない人もいるでしょう。そこで今回はハイレベルテストを実行する別の方法を見てみます。 普段はテスト駆動開発を奨励していますが、今回はすでに完成したアプリケーションにテストを追加することにします。それによって、実装の詳細やアプリケーションが正常動作するかどうかに気をとられることがなくなります。これから

  • RSpec + Autotest::screen = 最高の開発環境 - (゚∀゚)o彡 sasata299's blog

    2008年10月20日02:41 Ruby Linux RSpec + Autotest::screen = 最高の開発環境 【追記090704】 RSpecでテストコードを書いたまとめ - (゚∀゚)o彡 sasata299's blog も併せてご覧ください。 開発はテストファーストでやりたいなぁ。(´∀`*) そう思ってちょっとRubyのテストについて調べていたら、TDD(テスト駆動開発)に対して、BDD(ビヘイビア駆動開発)というものを発見しました。 で、rubyの話になりますが、rubyにはRSpecというBDD用のフレームワークがあります。RSpecだけでも結構便利です。ただ、そこはやっぱりいちいちテストを走らせたりするのが面倒なわけなんですよ。。。 そこで、autotestの出番です!!これは、ファイルに変更があったら、それに対応するテストコードを自動で走らせてくれる、という

  • Ruby / Rails のテストが約3倍速になって超快適に!! - 微熱 everyday - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Ruby / Rails のテストが約3倍速になって超快適に!! - 微熱 everyday - subtech
  • Railsアプリを変更したら自動でブラウザをリロードしてすぐ確認できる guard-livereload|DIGITAL SQUADブログ

    Railsアプリを変更したら自動でブラウザをリロードしてすぐ確認できる guard-livereload guard-livereloadを使うとRailsアプリのビュー、CSSJavaScriptなどを変更して保存すると同時に自動でブラウザをリロードして反映してくれるので、もうブラウザのリロードボタンを押す必要がなくなります。 まずはデモ動画 guard-livereloadはファイルの変更を監視して、変更を保存したときに色々なイベントを実行可能にするコマンドラインツールguardというgemを利用していて、今回のlivereloadの他にも、guard-rspecやguard-cucumberでRSpecやcucumberで変更したら即座に自動で実行するなどが可能になります。 guard-rspec、今回のguard-livereloadについてはRailsCasts(ASCIIca