タグ

rspecに関するyogasaのブックマーク (40)

  • リーダブルRspec - Qiita

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

    リーダブルRspec - Qiita
    yogasa
    yogasa 2015/12/14
  • RSpec 3.4 がリリースされました!

    Yuji NakayamaNov 13, 2015RSpec 3.4 がリリースされました! 私たちは semantic versioning に準拠する方針を掲げているため、 このリリースはすでに RSpec 3 を使っている方にとってなにか対応が必要になるものではありません。 しかし、もし私たちがバグを作り込んでしまっていた場合は教えてください。 できるだけ早く修正をし、パッチ版をリリースします。 RSpec は世界中のコントリビュータと共に、コミュニティ主導のプロジェクトであり続けます。 今回のリリースには、50 人近くのコントリビュータによる 500 以上のコミットと 160 以上の pull request が含まれています! このリリースに向けて力になってくれたみなさん、ありがとう! 主要な変更 Core: Bisect アルゴリズムの改善 RSpec 3.3 では、 実行順序

    RSpec 3.4 がリリースされました!
    yogasa
    yogasa 2015/11/15
  • RSpec Hacking Guide - joker1007 - BOOTH

    RSpecの内部実装と拡張ライブラリの作り方の解説書 (epub/pdf) PDFで30ページ

    RSpec Hacking Guide - joker1007 - BOOTH
    yogasa
    yogasa 2015/08/28
  • 「RSpecとMinitest、使うならどっち?」という発表をしてきました #kanrk06 - give IT a try

    はじめに 去る2015年7月11日、関西Ruby会議06で「RSpecとMinitest、使うならどっち?」という発表をしてきました。 今回ではこの発表に関する情報と、参加した感想等をあれこれ書いてみます。 発表の前に客席の写真を撮らせてもらいました。会場でかい! 発表のスライド 今回使ったスライドはこちらです。 RSpecとMinitest、使うならどっち? / #kanrk06 - Speaker Deck 発表の動画(当は練習風景) イベント当日の動画はありませんが、発表の前に練習用に撮ったスクリーンキャストがあります。(約25分) 発表内容はほとんど同じなので、当日イベントに参加していない人もこれを見ればだいたい内容がわかると思います。 RSpecとMinitest、使うならどっち? #kanrk06 - YouTube 今回の発表で工夫した点や気をつけたポイントなど 事実と意見

    「RSpecとMinitest、使うならどっち?」という発表をしてきました #kanrk06 - give IT a try
  • 実用的な新機能が盛りだくさん!RSpec 3.3 完全ガイド - Qiita

    はじめに 2015年6月12日にRSpec 3.3がリリースされました。 APIが大きく変更されたり、派手な新機能が追加されたりはしていませんが、うまく活用するとテストを効率よく書いていけそうな実践的な新機能がたくさん導入されています。 この記事ではそんなRSpec 3.3の新機能を紹介していきます。 新機能一覧 RSpec 3.3で追加された主な新機能は以下の11個です。 これから各新機能の内容を紹介していきます。 特定のエクスペクテーション群をまとめて検証できる(aggregate_failures メソッド) グループやexampleをID指定して実行できる 失敗したテストだけを再実行できる(--only-failures オプション) 失敗したテストを1件ずつ修正できる(--next-failure オプション) テストが増減しても seed を指定したランダム実行が同じ順序で実行

    実用的な新機能が盛りだくさん!RSpec 3.3 完全ガイド - Qiita
    yogasa
    yogasa 2015/06/22
  • RubyでSeleniumを使ってサクッとスタンドアローンなブラウザテストを作成する - Rails Webook

    Photo by Flickr: Simon & His Camera's Photostream RubyでSeleniumを使ってスタンドアローンなブラウザテストをする方法を説明します。 テスティングフレームワークにはRSpec、SeleniumにアクセスするためにCapybaraをつかうことで簡単にテストがかけます。 メリットとして、スタンドアローンなので、ブラウザでテスト対象のページが開ければ、他の要素のサーバーのプログラミング言語やサーバーの配置場所など制約がなくテストを作成できます。 目次 必要なgemをインストールする ブラウザをインストールする テストコードを記載する 動作環境 Mac OSX 10 Yosemite Ruby 2.2.0 selenium-webdriver 2.45 chromedriver 2.15 rspec 3.2.0 capybara 2.4.4

    RubyでSeleniumを使ってサクッとスタンドアローンなブラウザテストを作成する - Rails Webook
  • これを読むとRSpecの裏側がどうやって動いているのか分かるかもしれないぜ - Qiita

    これはTokyuRuby会議08にて発表した資料を元にQiita向けに再編集したものです。 元々Advent Calendarと共用にしようと思って、どう考えても5分で話せない資料でLTしたのでした。 最初に RubyのテスティングフレームワークとしてはトップクラスにメジャーなRSpecですが、内側の実装が黒魔術感に溢れていて非常に読み辛い。 そしてカスタマイズするにも学習コストが高いという話を聞きます。 最近「RSpec止めますか、人間(Rubyist)止めますか」みたいな風潮が出ていてバリバリのRSpec派の私としては見過ごせない感じになってきたので、いっちょRSpecがどんな感じで動いてるのかを大まかに解説していくことで、世の中に対して再びRSpecを啓蒙していこうと思うわけです。 この話はrspec-core-3.1.7辺りをベースにしています。 起動 rspecのコマンドエンドポ

    これを読むとRSpecの裏側がどうやって動いているのか分かるかもしれないぜ - Qiita
  • 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
    yogasa
    yogasa 2015/01/15
  • RSpec3初心者向けの資料まとめ直しました![Ruby]

    TDDでRSpecを書くにあたって、どれだけ効率的に効果的なテストが書けるかは、品質を高めていく上ですごく大切なことだと思います。 今回、RSpec3用のドキュメントやWebサイトをいろいろ読みなおして、最近までに特に良かった記事などを中心にまとめ直しました。 RSpec3に入門しようとしている初心者さんや、普段使っているけどもう一度RSpec3の知識を整理したい人にオススメのマトメです! 🗽 TDD/BDDとは?TDD/BDDにおける「振る舞い」の意味するところとは何なのか RSpecに限定された記事ではないですが、BDDの根的な概念の「振る舞い」についてまとめられた記事です。 これを知っておくことで、ここから先の話がかなりスムーズに理解できるようになると思います。 🎂 まずテスト書いてからコード書くシンプルなチュートリアルはじめてのRSpec - まずテスト書いてからコード書くシ

    RSpec3初心者向けの資料まとめ直しました![Ruby]
    yogasa
    yogasa 2015/01/11
  • 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他

    使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita
    yogasa
    yogasa 2015/01/11
  • Test::Unit と RSpec の違いって? · Issue #186 · yochiyochirb/meetups

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Test::Unit と RSpec の違いって? · Issue #186 · yochiyochirb/meetups
    yogasa
    yogasa 2014/12/25
  • 使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第3回です。 今回はRSpecのモックを使ったテストについて説明します。 これまでモックを全く使ったことがない人でもわかるように丁寧に説明していくつもりです。 また、これまでの回と同様、個人的に使用頻度が低いと思っている内容についてはバッサリ説明を省きます。 ただし、第1回や第2回に比べるとテストコードが少し複雑になって、仕組みや動きを想像するのがちょっと難しいかもしれません。 ぱっと頭に入ってこない場合はじっくり文を読んだり、実際に自分で写経しながらコードを動かしたりするなどして、少し時間をかけながら理解するようにしてください。 今回は以下のような内容を説明します。 モックの基的な使い方 モックを使った検証 モックでわざとエラーを発生させ

    使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita
    yogasa
    yogasa 2014/11/21
  • 使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita

    はじめに RSpecは難しい、よくわからない、といったコメントをときどき見かけます。 確かにちょっと独特な構文を持っていますし、機能も結構多いので「難しそう」と感じてしまう気持ちもわかります。 (構文については僕も最初見たときに「うげっ、なんか気持ちわるっ」と思った記憶がありますw) しかし、RSpecに限らずどんなフレームワークでも同じですが、慣れてしまえばスラスラ書けますし、実際僕自身は「RSpecって便利だな-」と思いながらテストコードを書いています。 そこでこの記事では、僕が考える「最低限ここだけを押さえていれば大丈夫!!」なRSpecの構文や、僕が普段よく使う便利な機能をまとめてみます。 具体的には以下のような構文や機能です。 describe / it / expect の役割 ネストした describe context の使い方 before の使い方 let / let!

    使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita
    yogasa
    yogasa 2014/10/28
  • RSpecの基本 - ダメ人間を支える技術

    2014-03-07 RSpecの基 インターン こんばんは。 学習は、15日目です。前回の続き、自動テストについてです。 テスト駆動開発(TDD)と振舞駆動開発(BDD) - ダメ人間が生きている 今日は、RSpecによるテストを書いていきます。 testinitで書いたテストをRSpecで書いてみる 前回testinitで作成した、引数が"shigotop"か否かを判定するメソッドis_shigotopに対するテストを、今回はRSpecで書いてみます。 require "./spec_helper.rb" require "./nameinspecter.rb" describe NameInspecter do before do obj = NameInspecter.new end it "shigotoはfalse" do @obj.is_shigotop('shigo

    yogasa
    yogasa 2014/08/25
  • Rails勉強会まとめ -- 非同期処理/RSpecなど|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 今回は棚卸しとして、弊社CTOのbabaさんによるRails勉強会スライドから引用して記事にします。 勉強会自体はRails 3.x時代のものなので既出が多くなっていますが、棚卸しも兼ねて今のうちに記事にいたしました。 非同期処理 言うまでもなく、リクエストからレスポンスまでの時間が長くなるほどユーザー・エクスペリエンスの質が低下します。これを改善するためにさまざまな工夫が必要になるわけですが、その中の一つとして、時間のかかる処理をバックグラウンドで実施しておくというのがあります。 cron 最も素朴な方法はやはりunix標準のcronを使って定時に出力データを準備することでしょう。この場合、起動用スクリプト(rakeなど)やジョブ管理は自分で作成する必要があります。 delayed_job delayed_job gemを使用すると、ジョブをActi

  • RailsのテストフレームワークRSpecの基礎知識

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

    RailsのテストフレームワークRSpecの基礎知識
    yogasa
    yogasa 2014/07/08
  • 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をスタブする方法 - 開発はまりメモ
    yogasa
    yogasa 2014/06/23
  • RSpec 3 時代の設定ファイル rails_helper.rb について - おもしろwebサービス開発日記

    rspec-rails、3.0.1 がリリースされていますね。インストールして rails g rspec:install とすると、spec/rails_helper.rb という見慣れないファイルが作成されます。これは一体何でしょうか。 rspec-rails のREADMEを読むと、これからは spec/rails_helper.rb に Rails 特有の設定を書き、spec/spec_helper.rbには RSpec の全体的な設定を書く、というようにお作法が変わるそうです。これによって、Railsを必要としないテストを書きやすくなるんだとか。 というわけで、これまで require 'spec_helper' としていた箇所の大部分は require 'rails_helper' に置換してあげる必要がありそうですね。パーフェクト Ruby on Rails のテストの章は

    RSpec 3 時代の設定ファイル rails_helper.rb について - おもしろwebサービス開発日記
    yogasa
    yogasa 2014/06/11
  • rspecを2.14.1から3.0.0に上げた時のメモ - CubicLouve

    追記 : transpecについて少し追記しました railsアプリで使っていたrspecを2.14.1から3.0.0にあげたら色々落ちたので、それを直したメモ。 まず、 bundle exec rails generate rspec:install して、spec/spec_helper.rbと.rspecを上書きした。 で、新たにspec/rails_helper.rbなるものが出現した。 (spec/spec_helper.rbは予めバックアップとっておいた) https://www.relishapp.com/rspec/rspec-rails/v/3-0/docs/changelog をみると Separate RSpec configuration in generated spec_helper from Rails setup and associated configu

    rspecを2.14.1から3.0.0に上げた時のメモ - CubicLouve
    yogasa
    yogasa 2014/06/03
  • RSpec 3の重要な変更 - 有頂天Ruby

    Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec

    RSpec 3の重要な変更 - 有頂天Ruby
    yogasa
    yogasa 2014/05/28