Ruby
RSpec のテストを記述するDSLとしては素晴らしさは、 Selenium RC と組み合わせる事で Ruby on Railsアプリ以外でも使えます。Selenium は Javascriptを使いWebアプリのテストを行うツールとして有名ですが、Selenium RC を使うと RSpecで書いたテストを Web…
先日リリースした 萌えトーク ではEnd-to-Endテストには Request Spec + Capybara を使っていますが、Javascriptの部分は適当なヘルパーメソッドを使いJavascriptを動作させずにテストしましたが、Capybara のドライバーを selenium や Akephalos (HTMLUnit)…
Capistrano で複数サイトへのデプロイを1つの設定ファイルで行える事を最近知ったので書いておきます。 Webシステムでは本番環境以外に最終確認の為のStaging環境を持つことが多いと思います、Staging環境は本番環境とは別のサーバーだったり、同じサーバー…
現在、 Ruby on Rails 3.x と 2.x 両方のプロジェクトを1台のマシンで開発・メンテナンスしていいる開発者もいると思いますが、その際に RSpec 正確には rspec-rails や email-spec のバージョンが競合を起こす事があります。 解決方法は幾つかあるようです…
先日リリースした 萌えトーク ではEnd-to-Endテストには Request Spec を使っていますが、テスト(RSpec)を書くには Capybara DSL (API) の知識が必要になります。 萌えトーク の Request Spec を書く際に参照した情報、サンプルをまとめておきます。 Capybar…
ここ2ヶ月で開発した、萌えトーク がオープンしました !!萌えトーク は、声優さん(現在はAGC38のメンバー)とスカイプのチャットでお話(レッスン)が出来るサービスの 予約を行うサイトです。 今なら、1トーク(25分) が無料ですので、アニメ好き・声優好きの方…
Webシステムではメールをユーザー送り、メール内のURLクリックで処理を行うようなケースも間々あります。そんなプログラムの受け入れテスト、End-to-Endテストを行うには Request Specs や Steak に Email Spec で簡単に書けます。Email Spec は Rails の Ac…
WEB+DB PRESS Vol.61の 「Rails 3テスト最前線」を読み Steak を使わなくても RSpec 2.0 の新機能 Request Specs と Capybara を組み合わせる事で Steak 同様にテストが書ける事が判ったので試してみた。 Steakに付いては、ここWEB+DB PRESS Vol.61作者: 西…
以前 Ruby on Railsの達人 @a_matsuda に 薦められた テストツール Steak を現在開発中のプロジェクトで使ってみようと思い、勉強してみました。 Steakとは Steak は Cucumber 同様に Ruby on RailsなどのWebアプリの受け入れテストや総合テストのツールです…
現在 Ruby on Rails 3.0 であるサービスを作っていますが、 Rails 2.X と違い RDB に書かれる時間が UTC (協定世界時) でかかれます。 国際対応する予定のアプリならこれで良いのですが、日本向けのサービスの場合はメンテナンス性を考えると RDB には日本時…
EY-Officeのホームページ作成を Ruby on Rails製CMS Radiant を使う事にしました で予告した、Radiantから静的ページの作成し、公開サーバーへの転送する拡張機能に付いて書きます。この拡張機能は上の画像のように Radiant のメニューに Deploy というタブ…
今まで、EY-OfficeのホームページはHTMLを直接書いていまいたが、コンテンツ強化のためにCMSを使おうと思い立ち調査したところ Radiant が良さそうだったので導入してみました。 Radiantに付いて 良い点 Ruby on Rails で出来ている !! GitHub を見ると開発…
みなさんは rake db:fixtures:load を使ってますか? test/fixturesにあるテストデータを開発環境DB(正確には現在の環境のDB)に読み込むrake taskです。この操作の取り消す rake db:fixtures:delete を作りました。 私は、テストデータを次の目的で使っていま…
開発中のシステムでは multi_db を使ってMaster/Slave型のRDB負荷分散を行っていますが、こういうアプリでRSpecを書くのは一筋縄ではいきません。Master/Slave型のRDB負荷分散を行うシステムではRDBへのinsert/updateはMaster-DBにのみ行い、selectはSlave-D…
訳あって、Ruby on RailsでMySQLに画像を格納し使う実験をした。 migrationでの指定 画像を格納するカラムは migration では binary を指定します。ただし、そのままでは 64Kbyteまでしか格納出来ない blob型になってしまいます。これを mediumblob型にする…
Cookieのhttponly属性を外す方法 - From a Far East Islandを Rails 3.0 で試したところエラーになってしまったので、調べたところconfig/initializers/session_store.rb ファイルにある RailsBooks::Application.config.session_store :cookie_store, :key …
EY-Officeの開発・教育用に使っているサーバーの Passenger (Ruby on Rails実行環境)を 最新の3.0にし、性能も測ってみました。 インストール インストール手順は従来通り sudo gem install passenger sudo passenger-install-apache2-moduleですが、passeng…
コントロラーのRSpecを書いていて send_file の response が上手くテスト出来なかったので調べてみました。ただし調べたのは Rails 2.3.8 , Rspec Rails 1.3.3 です。@irohirokiさんから ActionController::TestProcess#binary_content を使えば良いですとTw…
筑波で行われた日本Ruby会議2010に参加して来ました。参加した私自身のKPTを書いておこうと思います。 Keep 企業スポンサーになった! ここ! 、 あまり儲かってないEY-Officeにとって10万円はとても大きな金額でかなり迷いました。しかし、結果としてスポン…
プロダクトで使っているCucumber ですが、バージョンアップしていませんでしたので未だ 0.4.3 でした。昨日少し時間が出来たので 0.8.3 にバージョンアップしてみました。 バージョンアップ方法 Rails関連の追加ソフトをバージョンアップする方法ですが以下…
CodeZine に iPhoneアプリとRuby on Rails の連携を超簡単にする ObjectiveResource の記事を書きました。注意 現在ObjectiveResourceは iOS4.0 に対応できてないようです。 詳しくは こちら iPhoneアプリとRuby on Rails両方に通じている方は少ないと思いま…
昨年から始めた、お客様の ボロライディングショップ がネットショップとしてオープンしました。 乗馬に興味のある方もない方も、ぜひアクセスしてみて下さい。 サイトは、当然 Ruby on Rails で作られています、さらにテスト関連には RSpecやCucumberを使っ…
先日リリース Rails 2.3.5がリリースされたので開発中のアプリをバージョンアップしてみました。 リリースノート にあるように2.3.5は基本的にはセキュリティー、バグ対応がメインで大きく変わったところは無いようです。バージョンアップですが、アプリ側の…
現在、開発しているWebアプリではプライバシーを扱う一部のページのみ httpsで実行し、それ以外の大部分のページは httpなので、httpからhttpsへの遷移や httpsからhttpへの遷移があります。Ruby on Railsでは http から https へ遷移する リンクやは下のよ…
昨日も書きましたが、Cucumber は 内部で Webrat を使い、生成されたHTMLをチェックしたり、ボタン・リンクの動作をシミュレーションしています。 したがって、Javascriptを使ったページはテスト出来ません。 しかし、テストしたいページにJavascriptが使わ…
Cucumber は 内部で Webrat を使い、生成されたHTMLをチェックしたり、ボタン・リンクの動作をシミュレーションしています。 したがって、Javascriptを使ったページはテスト出来ません。 Railsで削除等には 'Are you sure?', :method => :delete %> というタ…
今回書いた、featureとstepsのうち一部をさらしました。 既にCucumberを使っている方 添削、ご意見をお願いいたします m(__)m feature フィーチャ: お客様登録なしの買い物 Shopでの買い物が正しく行えるようにする お客様とShop経営者 ちゃんと商品が買える…
現在開発中のネットショップのテストに Cucumber を使ってみました。やはり、実際のプロダクトに入れるとサンプルで試してみた時になかった問題が次々と発生し、楽しかったです (::) (::) 発生した問題と対応 ラベルがない! Cucumberのシナリオは "名前"に"…
現在ネットショップを作っているのですが、やや複雑なビジネスロジックを持っています。当然モデルはRSpecを書いて仕様の確認(テスト)しているのですが、開発中に注文の確認画面の表示がおかしい問題がよく発生しました。View自身はモデルやヘルパーの呼び出…
rspec,rspec-railsを1.2.9にバージョンアップし spec_server を使おうとしたところエラーが発生してテストできませんでした。調べてみたら 1.2.9 から spec_server は無くなり、代わりに spork というgemを使うようにと リリースノートに書かれてました。spo…