先日行われた RubyKaigi 2011 & 闇RubyKaigi 2011 で発表しました。RubyKaigi 2011 での会社的なちゃんとした(?)発表は、クックパッド開発者ブログをご覧下さい! Ruby を利用した大規模ウェブサービスの開発・運用 – RubyKaigi 2011 発表資料 « クックパッド開発者ブログ 闇RubyKaigi2011の発表資料 2011闇RubyKaigi あなたの知らないREEの使い方 View more presentations from hotchpotch RubyKaigi 1日目当日に闇RubyKaigiの追加募集があって、プレゼン時間2分とのことだったので応募したら通った*1ので発表しました。2分のLTぐらいならTAKESAKOさんじゃなくともサクっと作れるので、当日募集にはちょうど良い時間だと感じました! プレゼン内容的にはREE
本日大江戸*1で行われた大江戸Ruby会議01で、高速なテストサイクルを回すにはという内容で発表してきました。 大江戸Ruby会議01 高速なテストサイクルを回すには View more presentations from hotchpotch テストを速くするには二パターンあり、一つは単体実行時の速度・フィードバックの高速化、もう一つはすべてのテスト実行時の高速化があると思っていて、それらについての話です。ぎゅっとまとめると、前半の単体実行時の速度・フィードバック高速化には spork / prefetch-rspec / autotest / watchr を使おうという話と、後半は REE / parallel_tests による高速化・並列実行、remote spec によるリモートマシンでの分散テストについての話です。 特にオレオレプロジェクトの prefetch-rspec
前回(第35回)はwwを使ってWebのダブルとなるサーバを作り、スパイ機能を使ってクライアントからのリクエストの状況を目視確認する方法を説明しました。 今回は、ミニブログへのメッセージ投稿を通じて、wwを自動化テストに組み込む方法を説明します。 RSpecの自動テストの中からサーバを起動停止する wwは、単一のサーバプロセスとして起動させるほかに、自動化テストの中で定義・起動・停止するためのAPIを備えています。前回作ったダブルサーバを、RSpecから起動・停止するテストコードは次のようになります。 # spec/miniblog_client_spec.rb $:.unshift File.expand_path("../lib", File.dirname(__FILE__)) require 'miniblog_client' require 'ww' describe Minibl
はじめに Web APIを使って様々なサービスと連携するというアーキテクチャはすっかり定着した感があります。みなさんも、Web APIを使ってデータをやりとりするアプリケーションを書く機会も増えているのではないでしょうか。 Web APIを使うアプリケーションの開発では、テストやデバッグをする際のAPIアクセスが悩みどころとなります。本物のサーバを使ったのではテストデータの初期化などに手間がかかりますし、逆にHTTPアクセス自体をスタブやモックを使って間接化してしまうとそれが本当に有効なテストなのか不安が残ってしまいます。 筆者も、仕事やプライベートでのコーディングでこのような悩みに何度も遭遇しました。これらを解決するために開発したのがwwです(wwと書いて'double-web'と読みます)。 ダミーWebサーバ作成ライブラリww(Double Web) wwは、Webサービスの簡単
休んでいるうちにずいぶん時間が経ってしまいましたが、10/31のOSCにてお時間をいただき、Railsの昨今のテスト事情について紹介させていただきました。普段から申しているようにCucumberとRSpecをぐいっと推しています。 Rails testing environment, 2009 fallView more documents from Kyosuke MOROHASHI.あとはRSpec方面で、subjectやitsの使い方について、使いながら考えているようなことを書いています。 前にオブラブ方面でCuctomMatcherの話をしたときに、簡単なCustomMatcherを量産するのはだるいんじゃない?という懸念があったんですが、その一つの解としてits()はありかなー、と。使い分けはこんな風になると思います。 CustomMatcher作る 検証内容が複雑になるとき エ
初めまして、リコーの沖田です。この度私もこの blog を書くことになりました。以後よろしくお願いいたします。 みなさんテストは好きですか?私も含めて私の同僚は皆テストが大好きなので、しばしばテストの議論で白熱しすぎてしまいます。今日はそのテストの中から Mock(モック) と Stub(スタブ) について書いてみたいと思います。 Test Double まずテストにおける Mock と Stub についてですが、これらは Test Double という概念の一部です。Double とは代役という意味で、テスト対象となるシステムが依存する外部のコンポーネントの代わりに、それらしく振舞ってくれるコンポーネントを代役として利用しようということです。 例えば Web アプリの Controller の単体テストがしたい場合に、Model の実装が完了するまでテストができないっていうのでは大変です
オブジェクト倶楽部2009夏イベントの若人セッションでお話しする機会をいただきました。 タイトルは「プロジェクト特化言語 という夢を見たんだ」です。自然言語で仕様を記述できるCucumberと、英語ライクな書き方を目指す方向から徐々に方針転換を遂げつつあるRSpecという構図を見立て、対お客様/対開発メンバーというそれぞれのレイヤでのコミュニケーションツールとしてのテスティングフレームワークが云々という話をしました。CukeのstepとRSpecのCustomMatcherが大きなトピックです。あとは最近流行のsubjectについても少々。 TDD frameworks let me dream "Project Specific Language"View more presentations from Kyosuke Morohashi.少し前から話したかったことをいろいろ話せてすっき
■ [ruby] Rubyのテスト環境大戦争 おまいらは本当にテストが好きだな!というわけで、Rubyのテスト関係のライブラリを並べてみた。 テストフレームワーク Test::Unit Ruby標準添付のユニットテスト用フレームワーク。 RSpec DSLを使う、「BDD」という概念を流行らしたユニットテスト用フレームワーク。 Cucumber 自然言語を使って、ブラックボックステストを記述する。RSpecの「Stories」と呼ばれていた機能が独立した。 あとはShouldaとかbaconとかいろいろありますけども。 モック・スタブライブラリ モック=あるオブジェクトに期待したメッセージが飛ぶかどうかテストするためのオブジェクト、 スタブ=ネットワークが絡むとか、実際のオブジェクトが使えない場合に使う偽オブジェクト。 と思ってるんですけどどうなんですかね(more: モックとスタブの違い
● [cucumber][テスト] テストデータツールまとめ(2009春夏) 調査結果 知見 みんな YAML での Fixture 作成には辟易 (except DHH) DHH は初心者 BDD の流れから全体の fixture でなく必要なデータを作成するのが主流 データ作成ツールは Machinist がすこぶる評判いい (現在のベスト) 集合的なデータが必要な場合は Dataset を使い、その中から Machinist を使う Fake データの作成は Faker gem がこれまたすこぶる評判よし Machinist の発音がわからない 今、cucumber + webrat + mozrepl + firefox + xvfb + rspec + machinist + faker が俺の中で激熱! 参考 http://github.com/aslakhellesoy/cu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く