タグ

RubyとRSpecに関するukstudioのブックマーク (22)

  • RSpec の入門とその一歩先へ、第3イテレーション - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ、第3イテレーション』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 大きく時間が開いてしまいました(すみません…)、RSpec 入門の第三イテレーションです。 (第3回 coffee.rb の開催に合わせたライブ更新で書かれましたので、まだ詳細の説明は途中のところもあります。) 第1イテレーション 第2イテレーション 前回終了時点のコードと実行結果 この「RSpec 入門とその一歩先へ」シリーズでは、メッセージフィルタを RSpec を使って開発することで、 RSpec の機能と TDD を同時に学ぶことを狙いとしています。 前回終了時点のコードと実行結果をまず記します。 message_filter.rb class MessageFilter def initialize(*w

    RSpec の入門とその一歩先へ、第3イテレーション - t-wada の日記(旧)
  • eggsonbread.com

    We’re getting things ready Loading your experience… This won’t take long.

  • オブジェクト倶楽部2009夏イベントで話しました - moroの日記

    オブジェクト倶楽部2009夏イベントの若人セッションでお話しする機会をいただきました。 タイトルは「プロジェクト特化言語 という夢を見たんだ」です。自然言語で仕様を記述できるCucumberと、英語ライクな書き方を目指す方向から徐々に方針転換を遂げつつあるRSpecという構図を見立て、対お客様/対開発メンバーというそれぞれのレイヤでのコミュニケーションツールとしてのテスティングフレームワークが云々という話をしました。CukeのstepとRSpecのCustomMatcherが大きなトピックです。あとは最近流行のsubjectについても少々。 TDD frameworks let me dream "Project Specific Language"View more presentations from Kyosuke Morohashi.少し前から話したかったことをいろいろ話せてすっき

    オブジェクト倶楽部2009夏イベントで話しました - moroの日記
    ukstudio
    ukstudio 2009/07/08
    見に行けなくてごめんなさい
  • つくったLRUHash - moroの日記

    私はid:fistfvckさん(ですよね? お名前確認してなかったのでちと不安)と一緒にコードを書きました。仕様はこんな感じ。 Hashぽいインターフェースが欲しいとの要件だったので[]と[]=をまずは実装(上2つのexample)、その後100個という最大値を挟んでのLRU的機能を実装してみました。実際のストレージは、ふつうのHashへのdelegateで。継承したペアも多かったんですが、私たちは「コレはis-a Hashじゃなかろう」ということで委譲を使ってみることにしました。Forwardableは凄く便利。 このあたりのテストを書いてみると、LRUぽい機能はと=で何かやれば良さそうだぞ、というのが導出されてきます。また、テストを書いてみると、実際のクライアントとしてはcacheされていてnilなのか、そもそもキャッシュされていないのかを見るためにhas_key?系のメソッドも欲しか

    つくったLRUHash - moroの日記
  • Rails勉強会@東京第41.1回にいってきた - ayuminのあまり更新しないBlog

    前回のRails勉強会はインフルエンザ対策のため中止になってしまったので今回は2ヶ月ぶりの開催。 前日にデザインパターン再入門勉強会の主催をしてカナリ疲れたので、あんまり何も考えずに寝ぼけ眼で会場に到着。 到着時にすでに2つのセッションが立ち上がっていました。 参加したのはペアプロ実習。セッションオーナーはt-wadaさん。たまたま同じくらいのタイミングで到着したa_matudaさんとペアを組む。 お題:LRUHashの実装 仕様 要素サイズに限界があるHash。 最も使われていない要素が削除されていく。 ペアプロ開始 まずは仕様をRSpecで書くか、Test::Unitでかくかみたいな話をしたが結局どのペアもRSpecで書くことにしたようだ。 とりあえずlru_hash_spec.rbを作る。 touch lru_hash_spec.rbで、仕様を書くわけだが最近のRSpecでつかえるよ

    Rails勉強会@東京第41.1回にいってきた - ayuminのあまり更新しないBlog
  • LIFE ON THE EDGE WITH MERB, DATAMAPPER & RSPEC

    This book is work in progress, your help is requested @ github このはまだ執筆中です。協力いただけるなら github まで。 Life On The Edge With Merb, DataMapper & RSpec Foreword (前書き) (TODO) the foreword Preface (序文) This is a collaborative effort to document the features of Merb and DataMapper, while also providing example Merb applications. これは、Merb と DataMapper の機能をドキュメント化しようという、協力的な取り組みです。 また Merb アプリケーションのサンプルも提供します

  • 札幌Ruby会議01で発表してきました, artonさんへ:『 パタン・ランゲージによる住まいづくり』 - 角谷HTML化計画(2008-10-25)

    ■1 札幌Ruby会議01で発表してきました とりいそぎ、資料だけ置いときます。Rackの使い方がかなりアヤシイので、そこは参考にしないでください >< CucumberとRRは面白いので皆さん試すといいと思う。あと今日は紹介できなかったけど、factory_girlもオススメ。testable_tdiaryはとりあえずpushしただけなので、もうちょっと整理します。今回はコードと資料を両方準備するのが大変だということを学んだ。 いきいきとしたレガシーコードとの暮らし Working Effectively With Legacy Tdiary Code Using Cucumber And RspecView SlideShare presentation or Upload your own. (tags: testing legacy) slideshare kakutani.com

  • Rspecでdescribeをネストしたときの動作 - craftoneの日記

    調べてみた。 ネストしていてもあまり気にせず、it単位でbefore/afterが入るみたい。 で、before(:all)/after(:all)はネストされたdescribe単位になる。 describe "レベル1" do before(:all) do; p "レベル1 before(:all)"; end before do; p "レベル1 before"; end describe "レベル2-1" do before(:all) do; p "レベル2-1 before(:all)"; end before do; p "レベル2-1 before"; end it "レベル2-1のit-1" do; p "レベル2-1のit-1"; end it "レベル2-1のit-2" do; p "レベル2-1のit-2"; end after do; p "レベル2-1 afte

    Rspecでdescribeをネストしたときの動作 - craftoneの日記
  • CodeRepos::Share – Trac

    SeleniumRC Spec Rails plugin to integrate SeleniumRC with RSpec on Rails. Synopsis spec/selenium/toppage_spec.rb: require File.join(File.dirname(__FILE__), '..', 'spec_helper') story "A reader visits our site" do senario "The reader", "views our toppage" do # You can use "he", "she" or "ve" she.opens "/" she.gets_title; it.should == "Hello, World!" end end Installation $ script/plugin install [-x]

  • RSpecを0.8.x から 1.0.x にあげる際のポイントメモ - moroの日記

    RSpecは長らく0.Xリリースが続いており、APIの変更がなされていました。 しかし、2007/5/19に正式りリースである1.0.0が公開され、現在ではそのバージョンが活発にメンテナンスされています。 機能の追加はもちろん、バグ修正も多く行われており、またRSpecの開発陣も、このバージョンのAPIは後方互換性を保っていくことを表明しています。これから使いはじめる分には「テスト基盤がころころ変わる」問題は多少は収まることと思います。このへんを懸念してRSpecを導入していない方がいらしたら、このバージョンは是非さわってみてください。 ということで、実際に0.8.xで書いていたspecを1.0.0互換にしてみました。完全に1.0.xスタイルの書き方というわけでは鳴く、あくまで既存資産分を動作させるための最小限の変更、ということに御注意ください。 注意点 contextとspecify 引

    RSpecを0.8.x から 1.0.x にあげる際のポイントメモ - moroの日記
  • [RSpec] Mock API

    Mock Object Mock Objectの作成 my_mock = mock(<name>) my_mock = mock(<name>, <options>) person = mock('person', :null_object => true) Mockは名前を引数に取る。仕様の検証が終わった際に全てのMockが検証される。 option引数をハッシュで与えることでMockの振る舞いを調整できる。現在、:null_objectのみがサポートされている。:null_object => trueを引数に渡すとMockに対する全てのメソッドがMock自身を返すようになる。 Mockに対してスタブメソッドを定義する person.should_receive(:name) # person.name => nil person.should_not_receive(:name) #

  • RSpecチュートリアルやってみる - あとで読むRailsのススメ

    前々回、せっかくRSpec入れたのになんもやってないので、今回はRSpecでなんかやる で探してみたら、こちらでRSpecのチュートリアルが紹介されていましたので、これをやっていきます。 RSpecのバージョンが古くて、そのままじゃ動かないとのことですが、だがそれがいい 何も考えずにやっちゃうとコピペになっちゃうしね。 それじゃあ行ってみましょう。 ■ Mastermind? コードブレイカー? 残念ながらこれがどんなゲームなのかがわからないので、ぐーぐる先生に聞いてみました。 マスターマインド - Wikipedia いまいちわからないけど、要は相手がどこに何色のピンを置いたかを当てればいいらしい。 ■ 前準備 このチュートリアルをやるには、以下のものが必要 ・RubyRubyGems ・RSpec (gemで入ってればOK) ■ スタート チュートリアルそのままじゃ動かないので、い

    RSpecチュートリアルやってみる - あとで読むRailsのススメ
  • RSpecの標準Matcher一覧表 - 本当は怖いHPC & AI

    追記2(2015/09/08)ありがたいことに、未だにこの記事をブックマークしてくださる方がいらっしゃいますが、2008年に書いた記事なのでご注意下さい。内容はアップデートしていません。私自身はすでにRubyを使っていません。 追記:古い情報ですので、記事の日付とお使いのRSpecのバージョンを見比べて、参考程度にご覧ください。大部分は通用するはずですが。 Matcherをいちいち調べるのが面倒になって、公式のリファレンスマニュアルは一覧性が低いから、自分で一覧表を作った。 RSpecそのものについては、スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)などをどうぞ。そのうちRSpec on Rails版も作る予定。 名前 not((should_notで使えるかどうかという意味。)) 意味・機能 == ○ ==演算子を利用して比較する。ex

    RSpecの標準Matcher一覧表 - 本当は怖いHPC & AI
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • RSpecのStoryの書き方に関するメモ - ひげろぐ

  • Re:「autotestが止まらない。」, RSpec + AutoTest::Screen - 角谷HTML化計画(2007-09-12)

    ■1 Re:「autotestが止まらない。」 テストケースを増やして、いつの頃からかCtrl+C*2ではautotestが止まってくれなくなった。 カッとなって連打しても全然ダメ。 私も気がつくとAutotest::ScreenでCtrl+C 2回では止まらなくなりました(たしかそんなソースコードになっていた。リロードするんじゃなかったかな模造記憶。:interruptのフックでステータスメッセージを書き換えているそうです。パッチを投げてみるべき?)。 $HOME/.autotest require 'autotest/screen' Autotest::HOOKS.delete(:interrupt) これで止まるようになりました。正しい対処かどうかはわかりませんが。 ■2 RSpec + AutoTest::Screen Autotest::Screenが便利な件について。 (Sai

  • Railsのテスト環境を改めて- MacOSX / RSpec / ZenTest / Growl:TKMR.blog.show

    最近Macの再インストールしてから開発環境が中途半端だったので、Railsのテスト環境を改めて整備、のメモ 1) Rails開発環境は入っている 2) RSpec入れる  % sudo gem install rspec 3) ZenTest入れる  % sudo gem install ZenTest 3) diff-lcs入れる % sudo gem install diff-lcs 4) 自分のRailsアプリのディレクトリへ移動  % cd /RAILS_ROOT/ 5) rspec on rails入れる  % sudo ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_1_0_5/rspec_on_rails 6) RSpec関係ファイルのセットアップ  % ruby script/gen

  • RSpec-1.1.5: Controllers

    Controller Examples live in $RAILS_ROOT/spec/controllers/. In contrast to Test::Unit, where the controller is initialized in the setup method, with Spec::Raiks you don’t. Instead, pass the controller class to the describe method. Spec::Rails automatically instantiates a controller for you, which you can access from the examples (it blocks) using the controller method. Isolation from views Spec::Ra

  • [rails] 実践RSpec on Rails - コントローラとモデルのBehaviourを書く

    先日RSpec on Rails0.7(0.7.1も)が出ました。 まだまだ枯れていないので実際のプロジェクトで採用するのは難しい面もありますが、isoration from Databaseを支えるmock/stub frameworkや、isoration from viewsは強力なので、それほど影響の無い作成済みの社内アプリにRSpec on Railsを適用してみました。 maihaさんがやっておられるように、自作で作るのもすごく楽しそうなのですがとりあえずは使ってみます。mock/stub frameworkの実装の詳細をあとでみる。 BBDでは、Behaviourを書いてからコードの実装を行うのですが、今回は以前にうみがめで作った社内用情報共有ツールBasecamp(某signalsのパクリ)にBehaviourを書いていくことになります。 BasecampのSpec 社内で

  • http://brass.to/blog/rspec_links.html