今日は久しぶりにRails 2.0.2を使い、久しぶりに付属のファンクショナルテスト機構を使っていたのですが、そこでひどいバグに遭遇しました。 詳しくはjijixiさんの日記にてまとめられていますが、テストクラス内で定義したsetupが実行されないというものです(http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071221)。Railsで付属のファンクショナルテストを使ってテストを書きたいと思っている方はご注意を。 それに関連して、上記の記事をまとめてくださっているjijixiさんに不快な思いをさせてしまいました。申し訳ありません。意図の説明と謝罪が本エントリの趣旨です。 発端は私のTwitterでの発言。このバグを確認して もうこれRailsでTDDとかいってRSpecを使ってない人は全滅したほうがいいんじゃないかマジで htt
後続するblockの前後での差異を調べるassertかな.詳しく書いているDocumentがなかなか見つからないんだけど,has_many :through: Getting arbitrary with assert_differenceによると,下記のcodeがある場合,do〜end前と後とでUserオブジェクトの個数(:count)の差が1(1)であれば通るんだそうな. def test_create_user login = "bob" name = "Bob Dobbs" assert_difference(User, :count, 1) do bob = User.create!(:login => login, :name => name) assert_equal login, bob.login assert_equal name, bob.name end end 確
rcov 試し中。 インストール: $ sudo gem install rcovRAILS_ROOT で、 $ rcov test/**/*_test.rbで RAILS_ROOT/coverage/ に結果の HTML 群が吐かれる。 けど、Rails 本体(ActiveRecordとか)もテスト吐かれて、ちょー大量のファイルが生成されるんですけど! --rails オプションつけてみてもダメ。 rails_rcov プラグインなら大丈夫かな?と試し中。・・・ダメだった。 ちょー遅いんですけど。週一実行とかになるのかなぁ・・・ できた。-x オプションで、/var/lib/gems を対象から外せば ok だった。 $ rcov -x /var/lib/gems --rails test/**/*_test.rbDebian の人で RubyGems を apt で入れてる人は注意!
■1 オブジェクト倶楽部2006クリスマスイベントでTDDとRSpecについて話をしました ご来場いただいた皆さま、ありがとうございました。セッション資料はあとでサーバに置きます。 サーバに置きました。今回は反省がいっぱいだ。自分の戸惑いをプレゼンテーションしてしまった。講演後にフィードバックいただいた皆さんに感謝します。またどこかでBDDとかRSpecの話をできる機会があれば、そこに活かしたいと思います。あと、咳さんの疑問に答えられるようになりたい。メイヤーの第2版はまだか。 今回のライトニングークスで、私にとってのベストトークはid:vestigeの人(黒いMacBookの画面を書画カメラに写す新たなプレゼン技法の誕生)。夏の大森さんのトークと同じぐらい好きだな。心が震える。 (あとで書く) 毎度わかりづらいTrackBackのURLはこちら: http://www.objectclu
こんにちは satoです。 testコードではパフォーマンスやセキュリティをさほど気にすることはないと思うので、testコードで evalを使って楽できるケースを書いてみたいと思います。 よく似たModel で Userと Admin があるとします。 二つの Model には confirm というメソッドが定義されていて、ユーザ登録をしてメールで送られてくる URLを をクリックすると status が 'register' から 'confirm' に変更されます。 class UserTest ["status = ?", 'register']) user.confirm assert(user.status == 'confirm', 'confirm error') end end というテストをUserTest と AdminTest に書きます。 しかし以下のような mo
http://blog.netswitch.jp/articles/2005/11/06/agiledoxを今更ながらにみつけて、 さらに、ruby ではメソッド名に日本語が使えるので、 def test_ログインに成功したらsessionにuserが保存される。 ... end ともできる。 この記述を見て、どうしてもやってみたくなったので、さっそく試した。 まず、 def test_count_by_prefecture とかってなってるところを(メソッド名は例えですが) def test_県毎に人数をカウントする ってふうに書き換える。 わざと失敗するテスト(assert nilとか)を加えてrakeを実行すると、確かに! わかりやすい! で、Rakefileの最後に task :agiledox do tests = FileList['test/**/*_test.rb'] te
Selenium on Rails: Overview Selenium on Rails provides an easy way to test Rails application with SeleniumCore. This plugin does four things: The Selenium Core files don‘t have to pollute /public. No need to create suite files, they are generated on the fly — one suite per directory in /test/selenium (suites can be nested). Instead of writing the test cases in HTML you can use a number of better
Webアプリケーション用テストツール。ブラウザの操作をシミュレート(自動化)して、Webアプリケーションの画面周りの再帰試験(リグレッションテスト)を実施することができる。 現在、以下3つのプロジェクトから成っている。 Selenium-Core …中心的な機能。テストコードはHTMLのテーブルを書けばよく直感的に分かりやすい。 Selenium-IDE …Firefoxのエクステンションで、ブラウザ操作を記録してテストコードを生成 Selenium-RC(Remote Control) …リモートのサーバにテスト実行。JRE必要。Java/Perl/Python/Ruby/.NETでJUnitライクなテストコードを書くこともできる。 このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性を
Seasar Conference に行ってきた。会場は法政大学ボアソナードタワー26F。 飯田橋駅構内でまた道に迷った。春に一度来た場所なのに。 会場は見晴らしがよい。 会場に着くとメイドさんが歩いていた。 予告 通り無料ドリンクサービスをやっているらしい。 50分×4コマのそれぞれにつき、5つのセッションを平行して催すのでどれにしようか迷ったけれども、どうにか絞り込んだ。 会場の様子 Seasar 2.4 ひがやすをさんから、前日にリリースされたSeasar 2.4と、これまで詳細が明らかではなかった"Chura"について。最近のweb開発には"agile"と"enterprise"の2つの大きな流れがあるけれども、seasarはその流れの中でどう進んでいくのがが説明された。 まずagileはRailsに代表されるもので、ひがさんはこれらをスピード感を出すために独自仕様も辞さずに突き進
_ RushCheck - a lightweight random testing tool for Ruby Ruby のランダムテストライブラリ RushCheck を公開している。これは3年前からつくり出したもので、PC で眠っていたものを今年の夏休みに公開したものである。Haskell の QuickCheck を Ruby でも使いたいなあと思ったのがきっかけであった。 ランダムテストというのはテスト手法のひとつである。テストケースに入力するデータをテストインスタンスと言うことにしよう。このとき、テストインスタンスを自動生成するというのがランダムテストの特徴である。たとえば文字列を入力とするテストならば、ランダムテストではその入力文字列をランダムに生成する。いくつもの異なった入力をランダムに生成して、同じテストケースを自動的に何度も実行するというテストの考え方である。 _ ラン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く