■ はじまり 最近携わっている Rails 3 アプリの自動テスト(RSpec)が、すべて完了するのに1時間半かかるようになってしまいました。 5〜10分で終わっていた頃はファイルに変更を加えるたびにすべてのテストを確認できていましたが、それが難しくなってきたので ... 続きを読む
2013-02-24 RSpec 2.13.0を使ってみた Ruby Ruby 2.0.0 p0の話かと思った?残念RSpec 2.13.0ちゃんでした! Changelogを見てたらテンション上がってきたので使ってみました。 subject! let!のsubject版通常のsubjectが遅延評価でshouldが呼ばれた時に評価される... 続きを読む
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 みたいな感じ。以下のような出力が得ら... 続きを読む
Thursday, September 9, 2010 RSpec #stub vs. #stub! Confused by #stub vs. #stub!? Consider #stub! deprecated and use #stub. #stub is simply an alias for #stub!. #stub! was defined in the API at a time when RSpec's authors weren't clear on the ... 続きを読む
RSpec でよく describe に書いたことと、 subject に書くことが被ることがあって、DRY じゃないし、その冗長性にはなんの意味もなく、変更コストや打ち間違いのリスクが上昇するだけで困っていた。 なんとかする方法を発見したのでメモ。他の人が困っていないわ... 続きを読む
札幌 Ruby 会議 2012 にて、COOKPAD が開発者テストとCIの時間を削減するために行っているアプローチである「分散 RSpec」について発表しました。 スライドを SpeakerDeck.com にアップロードしました。 続きを読む
TDD, Ruby, Rspec私がRSpec使ってテスト書く時はこんな感じで書いてるよ〜ってのを書いてみた。*1 テストを書く順番についてTDDでコードを書く場合、先にテストを書く事になります。そして、そのテストを書く順番ですが、私は下記のような順番で書くように意識... 続きを読む
rspec-2.11.0 is out and filled with a bunch of new features. Big thanks to all who contributed, especially Justin Ko, Andy Lindeman (the newest addition to the RSpec core team) and Myron Marston for their great job addressing issues and sheph... 続きを読む
ここではRubyで記述されたコードに対するテスト方法の概要について説明します。Rubyには、ユニットテストをしやすくするフレームワーク(ライブラリ)が提供されています。通常は、個々のモジュールやメソッドなど小さな単位で十分なユニットテストを行って検証... 続きを読む
この連載では Test::Unit を代替するテスティングフレームワークである RSpec (先日、サイトが移転しました。新しい URL は http://rspec.info です) の使い方や、 その背景にある考え方を何回かに分けて連載形式でお届けします。 連載全体を通じて、次のような... 続きを読む
公開日時: 2011-03-08 05:58 RSpecで例外の発生をテストするにはlambdaを使用します。 例えば、adminというroleを持つUserのインスタンスに対してsuspendというインスタンスメソッドを実行しようとすると、CannotSuspendLastAdminUserExceptionという例外が出る... 続きを読む
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84... 続きを読む
Loading… Flash Player 9 (or above) is needed to view presentations. We have detected that you do not have it on your computer. To install it, go here. RSpecのここがすごい! - Presentation Transcript RSpec のここがすごい! RSpec で宣言的な Un... 続きを読む
* RSpecの構文 見本は、これ http://github.com/mitim/tddbc-lrucache/blob/master/lru_cache_spec.rb ** 慣習 RSpec用のテストとして書くテストコードは、[テスト対象のファイル]_spec.rb という名前でつくる。 ** なにはなくともrequire require 'lru_cache' ... 続きを読む
モデルのスペックでは、メソッドを呼び出して、その戻り値を確認するという単純な動きの確認で済みましたが、コントローラ部分のスペックについては、そうはいきません。RSpecではRails用の拡張として、コントローラの行う、画面からの処理の流れを確認すること... 続きを読む
前回Ruby on Rails3でRSpecを使うという記事を書きました。 その後、テストをちょこちょこと書いたので、少しずつメモしておきます。 コントローラのテスト 今回のポイント。 1.処理が通って200 OKが返ってくること。(または、指定のURLにリダイレクトされるこ... 続きを読む
First, be sure to speed up your tests! Controller tests (Test::Unit) To sign up as admin for a given test case, just do: class SomeControllerTest < ActionController::TestCase include Devise::TestHelpers def setup @request.env["devise.mapping"... 続きを読む
Ruby/Rails | Railsでの有名な認証プラグイン「Devise」を使って認証をコントローラにかけた場合に、 そのままだとRspecで正しくテストができないので調べた。 基本的なやり方はDeviseのwikiに書かれている。 Controllers and Views tests with Rails 3 (and rs... 続きを読む
Matcherをいちいち調べるのが面倒になって、公式のリファレンスマニュアルは一覧性が低いから、自分で一覧表を作った。RSpecそのものについては、スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)などをどうぞ。そのうちRSpec on Rails... 続きを読む
RSpecでテストを書いていてよく hoge.instance_variable_get(:@piyo).should == 'hehehe' とか書きますよね毎回indtance_variable_getを書くのが面倒なのでマッチャにしておくと簡単にテストできます Rspec::Matcher.define :be_in do |name, val| match do |kl... 続きを読む
このエントリに出てくるコードは ruby 1.8.7 p72、rspec 1.1.11 で試しています。RSpec って…RSpec-1.1.11: Overview には次のように書いてあります。 RSpec is a Behaviour Driven Development framework for Ruby. 訳は「RSpec は Ruby の振る舞い駆動開発の... 続きを読む
{{toc}} 書いた人 : 赤松 祐希 ([[@ukstudio|http://twitter.com/ukstudio]]) ! はじめに 当記事は Ruby のテスティングフレームワーク、RSpec の解説記事です。 入門記事ではなく、比較的実践的な内容を目指しているので it や describe やテストの実行の仕方... 続きを読む
ruby, 俺メモ rspecを初めて使ったので、モックを使うメモ gemのmailを使ってGmailを送るメソッドがある。 require "mail" # ... def send_alert_to_gmail(content) mail = Mail.new mail.from = CONFIG['email'] mail.to = CONFIG['to'] mail.charset = "UTF8"... 続きを読む
この連載では Test::Unit を代替するテスティングフレームワークである RSpec (先日、サイトが移転しました。新しい URL は http://rspec.info です) の使い方や、 その背景にある考え方を何回かに分けて連載形式でお届けします。 連載全体を通じて、次のような... 続きを読む
RSpec is going through a transition with a huge refactoring for version 2. It’s currently only in beta, but if you want to get the jump on things with RSpec 2.0 there are a few changes worth knowing to ease the upgrade path. The rake tasks h... 続きを読む
素でRSpecを使うためのRakefile書き捨てってわけでもないけど、フレームワーク使うほどのものでもない。 ってかんじものを作るときに作ったもの。 というかGitHubのどっかからぱくってきたものですが。 # -*- encoding: utf-8 -*- require 'rubygems' require '... 続きを読む
2011年06月04日12:14 Ruby 今さら聞けない Rails3 + DataMapper + Haml + jQuery + RSpec な開発環境の作り方 というわけで、今さらですが Rails3 な開発環境 (Ruby 1.8.7, Rails 3.0.7) を作ってみました。そのときのログを残しておきます。 なお、ActiveRecor... 続きを読む
RSpecとHudson(現Jenkins)との連携についてRSpec and ci_reporterという簡潔にまとまった記事がありました。 ところが私の環境ではRSpecが古いためか、そのままではダメでした。動いたコードを載せておきます。 Rakefile [ruby]require ‘spec/rake/spectask’ ... 続きを読む
\n \n \n \n \n \n テスト時間は早ければ早いにこしたことはない。全部のテスト通すの遅いとやらなくなりがち\n 1テストと、全テスト実行・主に二つに分けられる\n ソリューションはいくつかありますがこんなものがあります なんでこんなのがあるかというと巨大... 続きを読む
【前提】exampleの構成要素 fixture (replacement) Factory(:user) mock / stub User.should_receive(:all) User.stub(:first).and_return(@user) action User.my_method expectation should have(3).friends →これらを組み合わせてexampleを書く これを it "t... 続きを読む
Created on 2 Jul, 2010 | Tag(s): ruby rails mongodb haml rspec 会社用の、小物Webアプリを作ろうかと思い、せっかくなのでRuby on Rails 3とmongoDBで作ろうかなと思い、とりあえず環境を作るところまでのメモ。 Rails 3 のインストール とりあえず Raild 3... 続きを読む
この連載では、海外の良質な記事やブログを翻訳して紹介します。 第 1 回目は、Jared Carrollさんのブログ記事「RSpec Best Practice」です。 RSpec は、振舞駆動の設計プロセス (behaviour driven design process) において、人間にとって読みやすい仕様を書く... 続きを読む
class StackTest 続きを読む
まず仕様を満たすための振る舞いを定義し、それに準拠するようにプログラムを段階的に開発していく手法 BDD(Behavior Driven Development, 振舞駆動開発)。ITアーキテクト Vol.4 (IDGムックシリーズ) で知った時に、そのうち試すつもりがすっかり忘れてしまっ... 続きを読む