タグ

RUBYとRspecに関するs1251のブックマーク (17)

  • Railsを勉強するために読んだ本(と読んでいる本) - $web->{note};

    コードは多少書けるけど、Webアプリケーションの開発経験はほとんどない、という前提の下読んだの感想をだらだらと。 読んだ Learn Ruby on Rails (英語) http://learn-rails.com/learn-ruby-on-rails.html 当に初心者向けなので、半分くらいは環境構築。モデルにActiveRecordは使わずにGoogleSpreadsheetを使って、フォームから登録したユーザにメールで送るという簡単なWebアプリケーションの作り方を紹介している。内容はほとんどないけど、雰囲気は掴めたので一番最初に読んでよかった。 Ruby on Rails チュートリアル http://tatsu-zine.com/books/railstutorial 一冊を通してTwitterライクなWebアプリケーションを作るので、この一冊だけでも一通りRails

    Railsを勉強するために読んだ本(と読んでいる本) - $web->{note};
  • 今日から使える!RSpec 3で追加された8つの新機能 - Qiita

    はじめに RSpec 3が正式リリースされて2ヶ月ほど経過しました。(正式リリースは2014年6月) ネットの情報を見ていると、これまでは「既存のテストケースをRSpec 3にアップグレードさせる方法」や「RSpec 3で削除されたり、記法が変わったりした点」など、「守りの姿勢」に入った情報が多かったように思います。(僕自身もそういう情報をたくさんアップしていました) しかし、RSpec 3では以前のバージョンでは使えなかった新しい機能も数多く導入されています。 そこで記事では「攻めの姿勢」で「RSpec 3から導入された新機能」をまとめてみました。 なお、ここでフォーカスするのはテストコードの書き方にダイレクトに関わってくるマッチャの新機能です。 2015.01.12:RSpec 3.1に関する情報を追記しました RSpec 3.1に関する情報も追記しました。 もともと紹介していた新機

    今日から使える!RSpec 3で追加された8つの新機能 - Qiita
  • RSpecの入門とその一歩先へ ~RSpec 3バージョン~ - Qiita

    はじめに 有名な初心者向けのRSpec入門記事として、和田卓人さん(@t_wada)の「RSpec の入門とその一歩先へ」という記事があります。 僕もRSpecを全く知らなかった頃に参考にさせてもらいました。 今読んでもとても素晴らしい資料なのですが、RSpecのバージョンが古く、現状の書き方とマッチしなくなってきているのが少しもったいないところです。 そこで、この記事では和田さんの記事をRSpec 3バージョンに書き直してみようと思います。 各イテレーション(RSpec 3バージョン)へのリンク 第1イテレーション(記事) 第2イテレーション 第3イテレーション ソースコードのURL https://github.com/JunichiIto/rspec3-for-beginners/tree/end_of_iter1 記事のライセンスについて 記事は クリエイティブ・コモンズ 表

    RSpecの入門とその一歩先へ ~RSpec 3バージョン~ - Qiita
  • RailsのテストフレームワークRSpecの基礎知識

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく

    RailsのテストフレームワークRSpecの基礎知識
  • rspecでsleepをスタブする方法 - 開発はまりメモ

    やけに時間が掛かるテストがあるなと思ったらメソッドにsleepが入ってました。 スタブ化したら早くなるんじゃないかと思って調べてみた。 サンプルコード class User << ActiveRecord::Base def hoge sleep 5 true end end describe "hoge" do it "should be true" do user = User.new user.hoge.should be_true end end テスト実行 rspec user_spec.rb . Finished in 5.01 seconds 1 exampel, 0 failures sleepの5秒がちゃんとかかっております。 最初に考えたのは、sleepはKernelのメソッドだから Kernel.stub(:sleep) でうまくいくんじゃ・・・と思ったら見事反応なし

    rspecでsleepをスタブする方法 - 開発はまりメモ
  • [Ruby on Rails]画像をアップロード・ダウンロードするコントローラの呼び出しとRSpec | DevelopersIO

    はじめに 画像をアップロード・ダウンロードする処理をRuby on Railsで作成する際、画面がないなどの理由で、コンソールから画像をアップロードする事や、ControllerのRSpecにて動作を確認することがあります。 今回はそれらの具体的なソースと、簡単なRailsの実装について書いてみたいと思います。 1.今回作成するアプリについて 先に書いたように、画像をアップロード・ダウンロードする処理をRuby on Railsにて実装します。アップロードした画像はアプリサーバ内の/public/imgフォルダ内に保存します。ダウンロード時にはURLパラメータにてファイル名を指定し、/public/imgフォルダ内よりファイルを取得してクライアントに送る仕組みです。(ファイル名を直に指定するのは、サンプルなので簡略化するためです。) 2.ルーティング アップロード処理はarticles/u

    [Ruby on Rails]画像をアップロード・ダウンロードするコントローラの呼び出しとRSpec | DevelopersIO
  • RSpec3の新しいFormatter APIについて - Qiita

    いよいよRSpec3時代が近付いてきました。 betaとかrcで新しいバージョンが出る度にハマり所を仕込んでくるので、そろそろ落ち着いて欲しい所です。 RSpec3は表記の変更だけでなくて内部実装をがっつりリファクタリングしてるため、Formatterの作りも結構変わっています。 カスタムFormatterを自分で作ってる人とかForkして改造する人以外にはあんまり関係無いかもしれませんが、一応どう変わったのか書いておきます。 (そもそもそういう人は自分でソース読むし……) Formatterの基となるクラスはRSpec::Core::Formatters::BaseFormatterというクラスです。 これは2系でも3系でも変わってません。 RSpec3系で大きく変わったのは、Formatters.registerというメソッドを呼び出してFormatterクラスを登録しなければいけな

    RSpec3の新しいFormatter APIについて - Qiita
  • 私がRSpecを書く場合のやり方について | 自転車で通勤しましょ♪ブログ

    今日は木曜日だったので、ハンバーグの会(Okayama.rb)に参加してきました。 今日は@mako_wisにテストの書き方について相談を受けたので、粒度とかについて説明しましたが、私は説明し始めると早口になってしまうので詰め込みすぎたかもしれないと思ったのでちょっとまとめておこうと思いました。ちなみに、書き方といってもRSpecの始め方とかではないです。その点はあしからず。 Railsプロジェクトのいいところは、テストがとてもしやすいところだと思います。 私は今の会社に入るまで、テストは書きたいけれど、どう書けばいいのかわからなかったのと、頑張って書いてみたものの、成果が周りに評価されなかったのでこのままでいいのだろうか?と思い悩んでいました。しかし、既にテストがあるプロジェクトに入って書き方を学べた事と、同僚とThe RSpec Book読書会を社内で開いて勉強したおかげで、結構綺麗に

  • RSpec初心者向けの資料まとめ[Ruby][Everyday Rails書評]

    最近、RSpecやCapybaraでRailsのテストを書くたびに、ちょっとした書き方がわからずググったり、冗長なテストを書くことに結構悩んでいました。ということで、思い切ってRSpec再入門として、『Everyday Rails - RSpecによるRailsテスト入門』を読みました! Rails/Rubyはどんどんバージョンアップするので、紙媒体の書籍だと情報が古くなってしまっている場合があります。この書籍は著者や訳者さんが、しっかりとアップデートを続けてくれているので、最新の入門チュートリアルとしてRSpecの実践的な使い方を習得できる書籍です。 またこのを読むにあたってRSpecのドキュメントやWebサイトを読みなおしたので、合わせてRSpec初学者向けのマトメを作りました! 🎉 RSpec 3初心者向けの資料まとめRSpec 3初心者向けの資料まとめ[Ruby] ちなみにその

    RSpec初心者向けの資料まとめ[Ruby][Everyday Rails書評]
  • 7. RRRSpecについて補足 - 進捗

    分散テスト実行システムRRRSpecをリリースしました | クックパッド開発者ブログ 公開したらいろいろ反応があって嬉しいのだけれども、ちょっと補足したいところもあったし、様々な事情により今書いてしまうのが妥当なので、個人の日記でポエムっぽく補足する。 名前 RRRSpecで「とりぷるあーるすぺっく」。 マシンのスケーリングについて 「なんとか理論」って書いているが、実際のところすごく活用しているわけでは全くない。専門の人からしたら小学生ですか〜と言われるレベルなので、お断りとして大学の学部生が教養で学ぶレベルという形になっている。 ただ、こういうスケーリングに関係するところで、初歩的な方法ではあっても"It works"な結果が得られているので、勝てば官軍、動けば正義なところはある。実際、オークションの値段を決めるのにも、いくらで入札するのか、いくらまでだったら値上げするのか、落札できな

  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

    技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
  • Ruby Gem Configuration Patterns | Brandon Hilkert

    This is one of the final post leading up the the launch of the Build a Ruby Gem Ebook, which is now available for sale in 3 packages, including 14 chapters of code and over 2 hours of screencasts. The world isn’t black and white (as much as we’d like to believe it is). Just because our gem’s functionality may work for us, doesn’t mean it’ll work for everyone. Fortunately, we can give users the abi

    Ruby Gem Configuration Patterns | Brandon Hilkert
  • テスト駆動検索のススメ (@tady_jp) // Speaker Deck

    2014-02-07に開催された第3回ElasticSearch勉強会での発表スライド。 内容を一部修正しました。 株式会社じげん 多田雅斗@tady_jp

  • Dockerで継続的インテグレーション | SOTA

    Dockerで継続的インテグレーション Dockerで複数バージョンのrubyがインストールされたイメージを作るを使って,ローカルでTravis CI的なビルドテストを実現する方法を書く. 準備 (OS X) Vagrantを使う.バージョン1.4からはDockerのprovisioningに対応してるのでそれを使う. Download Vagrant - Vagrantより.dmgをダウンロードしてきてインストール. インストールしたら,rubyプロジェクトに移動して以下を実行する. vagrant init precise64 http://files.vagrantup.com/precise64.box Vagrantfileを以下のように編集する.ここでは,docker-rbenvで作成した,複数バージョンのruby (1.8,7と1.9.3,2.0.0)とそれぞれにbundle

  • RSpecの最新の動向・RSpec 3へのアップグレードガイド - Qiita

    この記事はRuby Advent Calendar 2013の6日目の記事です。 昨日はShindo200さんのRuby で paiza.jp のオンラインハッカソン問題に挑戦するときに少し役に立ちそうなことでした。 概要 Rubyのデファクトスタンダードなテストフレームワークと言えるRSpecですが、現在バージョン3.0のリリースへ向けて開発が進められており、先日2013年11月8日には3.0.0.beta1がリリースされました。 この記事ではRSpec 3における変更点と、RSpec 3へのアップグレード手順、また既存のspecを最新の記法に変換するツールを紹介します。 追記 RSpec 3は2014年6月2日に正式リリースされました。この記事は2013年12月6日に書かれたものですが、正式版においても通用する内容になっています。 正式版における主要な変更点は、以下のページが参考になる

    RSpecの最新の動向・RSpec 3へのアップグレードガイド - Qiita
  • Rspecのテスト進捗状況が可視化できるFuubarがいい感じ! - Qiita

    ちょっと不便なRspecのテスト Rspecでテストを書いている人は多いと思うんですが,Rspecのテストちょっと不便じゃありませんか? 例えばテスト実行中 あとどれくらい残ってるの!?いつ終わるの?(どれくらいのテストが残っているかわからない) テスト落ちたなら,それ先に見せてよ!(どのテストが失敗したかわからない,でも一応最後までテストを実行したい,けど終わるまで結果がわからない) うーん,やっぱりちょっと不便. そんな時に便利なFuubar こちらのビデオを見てもらうとFuubarがどういうものかわかると思います. Fuubarのいいところは 落ちたテストからFaiure/Errorメッセージを出してくれる. 残りのテスト数がわかる 予想終了時間が表示される 素晴らしい! インストール Fuubarを使うには

    Rspecのテスト進捗状況が可視化できるFuubarがいい感じ! - Qiita
  • Jenkinsでテストを実行してみよう+Rubyテストの基礎(RSpec&Turnip使用) - Build Insider

    Jenkinsを使って小さなテストを自動実行して、開発スピードを飛躍的に向上させよう。また、MacでのRubyRails環境の構築方法から、テストフレームワーク「RSpec」とインテグレーションテスト環境「Turnip」を使ったテストの書き方までを解説する。 ← 前回 連載 INDEX 次回 → 前回の記事を読んでJenkinsの環境を構築することはできただろうか? 今回は簡単なサンプルアプリケーションの作成を行ってみようと思う。同時に、Rubyの標準的なテストフレームワークのRSpecと、インテグレーションテスト環境であるTurnipを使ったテストの書き方を解説する。作成したテストを、Jenkinsを使って自動実行できるようになれば、あなたの開発スピードは飛躍的に向上することだろう。 Railsの開発環境を構築しよう 2013年10月にリリースされたMac OS X 10.9(通称Ma

  • 1