You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD. Documentation This is the official documentation site for RSpec. Much of the document
和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ、第2イテレーション』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 #coffee.rb の写経会に招かれた(というよりは押しかけた?)ので、先日の RSpec チュートリアルの続きを記します。このエントリは写経会に参加しながらのライブ更新でした。 (更新) 第3イテレーションも書きました。続きに興味ある方はご覧下さい 前回終了時点のコードと実行結果 前回終了時点でのコードを以下に記します。 message_filter.rb class MessageFilter def initialize(word) @word = word end def detect?(text) text.include?(@word) end end message_filter_spec.rb r
このウェブサイトは販売用です! twiwt.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、twiwt.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!
RSpecで使う基本メソッド(describe/context/it/its/before/after/subject/let/shared_examples_for)をまとめてみる。 参考リンク RSpec - 本記事はここのほぼ抜粋です。よくまとまっています RSpec を使い始める人が読むべき N 個のドキュメント | Aiming 開発者ブログ - 参考リンクがいっぱいあります。上の記事もここで見つけた describe/context - テスト名。テスト対象自身のオブジェクト(subject代わり)でもOK before - 事前条件。example(it)の前に実行される。before :each はexample毎、before :all はdescribe毎に呼ばれる after - 事後処理。以後のテストに影響が出ないように後始末が必要な時に記述する subject -
Ruby,Rubygems,MongoDBはインストールされているものとする MongoDBのインストールについてはCentOSであれば前にちょっと書いた 過去の記事:CentOS5.5にMongoDBをインストールする - chulip.org インストール Bundlerを使用して必要なGemをインストールする。 なおMongoDBのORMとしてMongoidを使用する $ gem install bundlerGemfile source :rubygems gem 'sinatra' gem 'mongoid' gem 'bson_ext' gem 'SystemTimer' #1.8.7だけ必要だったぽい group :test do gem 'rspec' gem 'rack-test' end$ bundle install bson_extとSystemTimer bson
rspec-system provides a framework for creating system tests using the rspec testing library. The goal here is to provide facilities to aid in the launching of tests nodes, copying of test content to such nodes, and executing commands on such nodes to be tested with standard rspec assertions within the standard rspec test format. Note: This library is fairly new at the moment, so your mileage may v
ちょっと前に話題になったRSpecのスライドがステキだったよね。でもRSpecはまだまだ底知れない気がするので自分でもいろいろと調べてみようと思った次第。 まずはrspec-core(2.5.1)/features/example_groups/shared_example_group.featureを参考にshared example groupについて調べてみたよ。 例1:テストを共有できる require "set" shared_examples_for 'a collection' do subject { described_class.new [7, 2, 4] } its(:size) { should eq 3 } it { should include 7 } it { should_not include 9 } end describe Array do it_be
先日書いた、麻雀スクリプトをSinatraに乗っけてみました。 ・rubyで麻雀の待ちを出力 - うんたらかんたら日記 ・麻雀スクリプトのテストコード - うんたらかんたら日記 amachang作の↓をみて 清一色メーカー rubyでもsinatra使えばサクッとできる(らしい)よね、 と思い立ちチャレンジしてみました。 ついでに、sinatraでRSpec動かすのと、 ちゃんと使ったことの無いhaml/saasをこれを機に使ってみました。 ソース rochefort/majang_sina - GitHub herokuデプロイ先 麻雀聴牌チェッカー こんなかんじ。 感想 「また、つまらぬものを...」感がありますが、個人的にはいろいろ試せて良かったです。 ほとんどデザイン入れて無いので、haml / saasの醍醐味は味わえてませんが saasはある程度ルール決めれば、cssは結構キレ
What is Better Specs Better Specs is a collection of best practices developers learned while testing apps that you can use to improve your coding skills, or simply for inspiration. Better Specs came to life at Lelylan (open source IoT cloud platform) and checking out its test suite may be of inspiration. Better Specs focus on Rails testing, but our goal is to create testing guidelines covering mos
rspec-2.11 がリリースされましたね。いくつかの変更点の中に、今後は should ではなく expect を推奨し、デフォルトでは expect のみが有効化されるようになる、というものがありました。 http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax 個人的にこの変更は説得力に欠けるなーと思っていて、 expect 推しにする理由が should は Kernel にはえるので Kernel を include しない BasicObject のインスタンスに対して should を呼ぶとおかしくなる 標準ライブラリ delegate は Kernel のメソッドの一部だけを include するので rspec と delegate のどちらが先にロードされるかによって should の挙動
Kerry BuckleyさんのRSpecのスライドが素晴らしい。さらっと読み通しておもしろいなと思ったところをノートしてみました。 なお、console でRSpecを使いたいときはSpec::Matchersをincludeすればよいです。 require 'rspec' include Spec::Matchers - 表紙 このスライドはSplippyというやつでできている。Escを押すとページのリストが出てかっこいい。 - Context contextはdescribeのエイリアス - Formatters フォーマッタ: docは試験内容がdocument化されて読みやすい。 - Formatters フォーマッタ: fuubarでプログレスバーをパーセンテイジ表示できる - Formatters フォーマッタは複数指定できる - Profiling プロファイルで時間のかか
2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと
romaji というライブラリを書いた。 - 寿司じゃないブログ という記事を書いたのだが、テスト環境について反応があったのでもうちょい詳しく書く。 RSpec テスティングツールのデファクトスタンダード。 http://rspec.info/ に行くか、The RSpec Book を読もう。 Guard ソースコードが編集されているかを監視して、変更があった場合に自動でテストを走らせてくれる。 guard/guard · GitHub guard と guard-rspec を gem install して、以下のようなファイルを Guardfile という名前でプロジェクトのルートディレクトリに置き、 guard コマンドを走らせると、watch で指定したファイルの変更の監視してくれる。 guard 'rspec', :version => 2, :all_after_pass =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く