タグ

rspecに関するtknzkのブックマーク (24)

  • RSpecしぐさ

    3. 大仲 能史 a.k.a. @onk •株式会社ドリコム •Rails エンジニア歴 9 年ぐらい •v1.2.x から眺めてました • 格的に使いだしたのは v2.3.x から • 2007-04 からRails勉強会@東京に参加 •RSpec も v1.x から使っています

    RSpecしぐさ
  • Docker時代の分散RSpec環境の作り方 // Speaker Deck

    大江戸Ruby会議06 トーク資料

    Docker時代の分散RSpec環境の作り方 // Speaker Deck
  • 読みやすいRSpecを書くためのTips - 弥生開発者ブログ

    こんにちは、黒曜(@kokuyouwind)です。 最近見つけた面白いポケストップは「シーサーに似た守り神(メイドインタイランド)」です。 PokemonGOは飽きてきて、代わりに最新作のサン・ムーンが欲しくなってきました。 アローラロコンかわいいよアローラロコン。あとミミッキュ。 さて、Misocaに入社して一年弱が経ち、RSpecの書き方にも大分慣れてきたのですが、油断すると冗長で複雑なSpecを書いてしまいがちです。 既存のSpecが複雑だと新しいexampleを追加するときにも書きづらくなってしまうため、気づいたらなるべくリファクタリングするように心がけています。 今回は、最近自分が「こういう書き方だと読みやすく保守もしやすいのではないか」と思っているRSpecの書き方について紹介していきたいと思います。 Specを記述する対象と文脈に着目して分割する 最近書くSpecでは、大体

    読みやすいRSpecを書くためのTips - 弥生開発者ブログ
    tknzk
    tknzk 2016/09/02
  • RailsのRSpecテストを速くする方法まとめ - Rails Webook

    Photo by Flickr: chief_huddleston's Photostream Railsの規模が大きくなると自動テストの実行時間もだんだんと長くなっていきます。素早く開発していくにはテストの実行時間を短くすることが大切です。 RSpecのテストを速くする方法をまとめましたので参考にしてください。 動作確認 Rails 4.1 rspec-rails 3.1.0 test-queue 0.2.9 目次 1. RSpecのパフォーマンス測定 2. test-queueで並列でテストを実行する 3. rspec-guardを使って更新したファイルを自動的にテストする 4. Springを使ってテストのロード時間を短くする 5. ログレベルを変える 6. GCを実行を抑える 7. RSpecファイルのリファクタリングをする 7.1. itを少なくする 7.2. createよりも

    RailsのRSpecテストを速くする方法まとめ - Rails Webook
  • Turnip + Sinatra + kintone でメンテナブルなE2Eテストを書こう - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。大阪開発部の岡田(@y_okady)です。大阪ランチは今日も安くて旨いですね。 サイボウズと言えばSeleniumを使ったE2Eテストのイメージが定着しつつありますが、そのE2Eテストをさらに強固なものにするために新しい仕組み作りにチャレンジしました。 作り始めて3日しか経っていないプロトタイプの段階ですが、構成はだいたい固まってそれなりに動くものができたのでご紹介します。 きっかけ 2週間ほど前に読んだ「エッセンシャルスクラム」に、こんなことが書いてありました。 テストはスプリント期間よりも長くかかる場合がある。 そうなるのは、開発チームが巨大な手動テストという負債を背負っているからだ。 サイボウズではE2Eテストの自動化が進んでいると言っても、自動化できているのは試験全体のほんの一部です。ほとんどのテストは手動で実施しており、プログラマが1ヶ月かけて開発したものをQAが1

    Turnip + Sinatra + kintone でメンテナブルなE2Eテストを書こう - Cybozu Inside Out | サイボウズエンジニアのブログ
  • リーダブルRspec - Qiita

    はじめに リーダブルRspecというタイトルつけましたが、そんな大それたものではないです テスト書くときでも名前付け重要だからちゃんとしよう!っていうだけの内容です RspecがBDDのためのツールであることを意識しつつ、 Rspecの流儀に則って適切に名前付けをして書くと読みやすいテストがかけるはずです describe/context/exampleのメッセージに適切に名前つける これが出来るだけで当然読みやすいテストになる describe->テスト対象 context->テストする状況 example->テスト(itやspecify) なので、 『aaaはbbbの時cccになる』 というテストを書くときは次のようになる 重要なのは describe/context/exampleだけでテストの概要を説明すること 理解しやすい状態になっていないと、負債になってしまう 1つのdescr

    リーダブルRspec - Qiita
    tknzk
    tknzk 2015/12/14
  • RSpecを書く時に心がけたい3つの指針 | PSYENCE:MEDIA

    この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2015 の投稿記事です。 技術の話よりもMMO(DQX)をずっとしてたいなと思っていますが、こんにちは @soplana です。 タイトルの件みたいな話を最近チーム内で議論し、メンバーが書くRSpecが読みやすくなってきたので記事にしたいと思います。 概要 RSpecは多機能で知れば知るほど奥が深いテストコード用のDSLです。 describe, context, subject, before, it, expect, shared example等沢山の概念・用語が飛び交うので、書き方として何が正しいかよく分からないけど、とりあえずテストコードは書いておかないとな...みたいな気持ちで書いている人も多いのではないかと思います。 このエントリーでは、RSpecの小技の紹介や、概念・用語の説

    RSpecを書く時に心がけたい3つの指針 | PSYENCE:MEDIA
    tknzk
    tknzk 2015/12/04
  • Better Specs { rspec guidelines with ruby }

    translations Documentation RSpec is a great tool in the behavior-driven development (BDD) process of writing human readable specifications that direct and validate the development of your application. On the web there are many resources that give complete overview of _what_ you can do with RSpec. But there are fewer resources devoted to how to create a great RSpec test suite. Better Specs tries to

  • TDDを諦めることと、RSpecをやめること - 高柴ラボ

    2014-10-17 TDDを諦めることと、RSpecをやめること Ruby on Rails Ruby RSpec 開発手法 最近Web上でも仕事場でも、RSpecをやめて別のテストフレームワークに変えようと思っている……みたいな話をちょくちょく見聞きするようになった。僕がRuby on Railsで開発を始めた2012年8月当時、すでにRSpecはテストフレームワークのデファクトと言ってよかった。一斉を風靡したRSpecが、なぜ今見直され始めているのか。 きっかけになったのは今年4月の、Rails作者であるDavid Heinemeier Hansson(以下DHH)によるTDD is dead発言だと思う。 5月にはこの発言によるTDDへの風評被害を重く見たKent Beck*1が、レフリーにMartin Fowler*2を迎え、DHHと相対するドリームマッチが開催された。この会談の

  • RSpec をやめて Test::Unit に戻る - tmtms のメモ

    最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number

    RSpec をやめて Test::Unit に戻る - tmtms のメモ
  • Rspecのテスト進捗状況が可視化できるFuubarがいい感じ! - Qiita

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

    Rspecのテスト進捗状況が可視化できるFuubarがいい感じ! - Qiita
  • Leanpubで本を売るとどれくらい儲かるの? 「Everyday Rails - RSpecによるRailsテスト入門」の報酬面を大公開しちゃいます - give IT a try

    はじめに 2014年2月7日から販売を開始した「Everyday Rails - RSpecによるRailsテスト入門」は、ありがたいことにすでに600部以上売れています。 発売前は「できたら300部ぐらいは売りたいよねー。年内に500部売れたら大成功かなー」みたいな話を翻訳チームで話していたのですが、当初の予定を超える売れ行きになって驚いています。 購入してくださったみなさま、当にありがとうございます! ところで、このは紙のではありません。電子書籍オンリーです。 しかも、日の出版社ではなく、カナダのLeanpubというサービスを使って販売しています。 さらに言えば、書をはじめ、Leanpubの書籍はすべてセルフパブリッシングです。 すなわち、作者が好きなように書いて好きなように売るです。 プロの編集者が執筆やセールスをサポートしてくれるわけではありません。 なので、世間一般の

    Leanpubで本を売るとどれくらい儲かるの? 「Everyday Rails - RSpecによるRailsテスト入門」の報酬面を大公開しちゃいます - give IT a try
  • RSpecのshouldはもう古い!新しい記法expectを使おう!

    というように書くようになりました。 別にshouldを使った記法がなくなったわけではありませんが、 https://github.com/rspec/rspec-expectations のREADME.mdには、もう新しいSyntaxの説明しか載っていないし、今後はexpectの方を使っていくほうがいいでしょう。 http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax には、新しいSyntaxを導入した背景が説明されています。 簡潔に書くと、shouldだとBasicObjectを継承したクラスのテストを書くときに不具合が起こるみたいですね。 移行方法 基的には、上に書いたように、 foo.should を expect(foo).to に foo.should_not を expect(foo).

    RSpecのshouldはもう古い!新しい記法expectを使おう!
  • Feature specs で、たくさんの手順があるWebアプリの受け入れテストを書いてみた - yuumi3のお仕事日記

    ログインして、販売伝票ボタンを押し、商品追加ボタンを押し、表示された商品ページでカテゴリーを選択し、商品の一覧を表示し選択ボタンを押し・・・ ・・・ ・・・ 確定ボタンを押す。 のようなたくさんの手順で一つの作業が完結するようなWebアプリの受け入れテスト(顧客テスト、総合テスト…)を RSpec + Capybara の Feature specs を使って書いてみました。 通常このようなテストには Cucumber や Turnip が使われる事が多いですが、どちらも feature(テスト記述) と sptep(コード)に分かれていています。 顧客や開発者以外の人が feature の作成やレビューに関わる場合はメリットがありますが、開発者だけがテストに関わる場合は面倒なだけです。 そこでプログラマーの大好きな RSpec だけで、受け入れテストを書ける Feature specs

  • RRRSpec を試してみた (ついでに on Docker) - Thanks Driven Life

    経緯 分散テスト実行システムRRRSpecをリリースしました | クックパッド開発者ブログ 7. RRRSpecについて補足 - 進捗メモ 以前 parallel_testsで調子乗って -n 30 とかしたらマシンが死んだ記憶が甦ってきたので、このアプローチに移動しないといけない / “分散テスト実行システムRRRSpecをリリースしました | クックパッド開発者ブ…” http://t.co/SMjoNnh92R— Wataru MIYAGUNI (@gongoZ) 2014, 3月 24 補足ブログにもある通り RRRSpec が全てのケースにおいて有用というわけではないですが、 携わっているプロダクトに使えそうならそれはそれでいいなと思って、まずは動作までを試してみました。 rrrspec/local_test を実行してもなんかうまくいかなかったので、 server や work

    RRRSpec を試してみた (ついでに on Docker) - Thanks Driven Life
  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

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

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
  • Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!] - Qiita

    Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!]RailsRSpecGuardFactoryGirlspring Railsのテスト環境の定番といえば Rspec Guard FactoryGirl Spork このへんの組み合わせが定番だったんではないでしょうか。 Sporkでテスト環境をプリロードして、Guardでファイルを監視してガンガンテストを回してと。 今回はこのSporkを最近メキメキと頭角を現してきているSpringに置き換えて よりモダンな高速テスト環境の作り方を説明します。 Springのいいところ このSpringなにがいいって、設定がすごく簡単。 おまけにGuard+Rspec以外にもrails generateやrake routesなど他のコマンドも高速化してくれます。 一度体験したらもう戻れません。 必要

    Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!] - Qiita
  • Railsでテストを書いてみる(Rspec編) - KodaNote

    rspec 環境設定 Rails3.0.3に rspecをインストールするのに少しハマったのでメモ gem のアップデート $ sudo gem update --system $ gem -v 1.5.2 activesupport のアップグレード rspec-rails で 3.0.4 を要求されるので、アップグレードしておく。他のは 3.0.4 にしなくて良いのだろうか‥ $ sudo gem update activesupport $ gem list | grep active activemodel (3.0.4, 3.0.3) activerecord (3.0.3, 2.3.5, 2.2.2, 1.15.6) activeresource (3.0.3, 2.3.5, 2.2.2) activesupport (3.0.4, 3.0.3, 2.3.5, 2.2.2, 1

    Railsでテストを書いてみる(Rspec編) - KodaNote
  • File upload test on Rails3 + RSpec + json_spec - higepon blog

    require 'spec_helper' describe PhotosController do before do @file = Rack::Test::UploadedFile.new('spec/fixtures/keiko.jpg', 'image/jpg') end it "should get index" do request.accept = "application/json" get 'index' response.should be_success end it "can upload a photo" do request.accept = "application/json" post :create, :photo => { :photo_image => @file, :name => 'keiko' } response.should be_succ

    File upload test on Rails3 + RSpec + json_spec - higepon blog
  • RSpecでテストを作るのに役立つ「モック/スタブ」のシンプルな説明

    🖥 VULTRおすすめ 「VULTR」はVPSサーバのサービスです。日にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

    RSpecでテストを作るのに役立つ「モック/スタブ」のシンプルな説明