タグ

Rspecとrspecに関するat284kmのブックマーク (21)

  • 【翻訳】RSpecのリードメンテナだけど何か質問ある? - Qiita

    はじめに 先日、Redditでこんな記事が載っていました。 AMA: The authors of "Effective Testing with RSpec 3", Myron Marston and Ian Dees : ruby この記事は書籍「Effective Testing with RSpec 3」の筆者であるMyron Marston氏とIan Dees氏が、書籍に関する質問に何でも答えます、という企画です。 この2人のうち、Myron Marston氏はRSpecの開発者(リードメンテナ)です。 Q&Aを読んでいると、RSpecの開発者ならではの意見だなと思うところがたくさんあり、なかなか興味深い議論になっていました。 というわけで、この記事では先ほどのQ&Aから「これは日Rubyプログラマにも役立ちそう」と思ったやりとりをピックアップして翻訳してみます。 ピックアッ

    【翻訳】RSpecのリードメンテナだけど何か質問ある? - Qiita
  • サヨナラBetter Specs!? 雑で気楽なRSpecのススメ - Qiita

    はじめに RSpecって結構「RSpecらしく書くこと」を求められたりします。 たとえば、describeやcontextでしっかりグループを分けましょう、再利用するデータはletやsubjectに切り出しましょう、ひとつのexample(it)の中でテストするのはひとつの項目だけにしましょう、等々の方針です。 よくあるのが「Better Specsを読んで、こんなふうに書くようにしましょう!」っていうパターンですね。 Better Specs しかし僕の場合、最近は「そこまでがんばってキレイにしなくてもいいのでは?」と考えるようになってきています。 その結果、テストコードがだんだん雑になってきています。 というわけで、この記事では最近僕が実践している「雑なRSpec」の書き方を紹介します。 備考 この記事は以前自分のブログに書いた内容を加筆・修正したものです。 「雑なRSpec」以外の話

    サヨナラBetter Specs!? 雑で気楽なRSpecのススメ - Qiita
  • 「RSpec で example の外で定義したローカル変数を使うのはアリか?」に対する僕の見解と解決策 - give IT a try

    はじめに 先日、「RSpec で example の外で定義したローカル変数を使うのはアリか?」というブログ記事を拝見しました。 ブログの作者である「きいあむ」さんは、「exampleの外で定義したローカル変数を使うのもアリなのでは?」というスタンスで記事を書かれています。 ですが、僕は「うーん、これはちょっと・・・」という感が否めません。 そこでこのエントリでは上記ブログ記事の内容に対する、僕の見解と考えられる解決策を書いていきます。 RSpecでテストを書くことがある人は参考にしてみてください。 上記ブログの簡単なまとめ さくっと要点を把握したい、という方のために、きいあむさんの意見を簡単にまとめておきます。 RSpecでは値を共通化するために、インスタンス変数やletを使います。 たとえば、何も考えずに愚直テストを書くとこんな感じになります。 describe User do it

    「RSpec で example の外で定義したローカル変数を使うのはアリか?」に対する僕の見解と解決策 - give IT a try
  • テストコードの期待値はDRYを捨ててベタ書きする ~テストコードの重要な役割とは?~ - Qiita

    はじめに みなさん、DRY原則はご存知でしょうか? DRY = Don't repeat yourselfの略で「繰り返しを避けること」という意味ですよね。 良いコードを書くための重要かつ基的な原則なので、みなさんよくご存知だと思います。 ですが、DRY原則はテストコードを書く場合は必ずしも最善にはならない場合があります。 他の人が書いたテストコードを見ていると、テストコードにDRY原則を適用したために、かえって悪いコードになっているケースをときどき見かけます。 この記事ではなぜテストコードをDRYにすると良くないのか、ということを説明します。 追記:タイトルを変更しました @t_wada さんのコメントを受けて、タイトルを見直しました。 「テストコードはDRYを捨ててベタ書きする」 => 「テストコードの期待値はDRYを捨ててベタ書きする」 【注意】この記事は画一的なテストコードの書き

    テストコードの期待値はDRYを捨ててベタ書きする ~テストコードの重要な役割とは?~ - Qiita
  • RSpec - Relish

    RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD. Documentation This is the official documentation site for RSpec. Much of the document

  • 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita

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

    使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita
  • 実用的な新機能が盛りだくさん!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
  • RSpecのletを使うのはどんなときか?(翻訳) - Qiita

    はじめに RSpecにはletという機能があります。 これを使うとインスタンス変数を次のように置き換えることができます。 # インスタンス変数を使う場合 before do @user = User.new(name: 'Taro', email: 'taro@example.com') end it 'is valid' do expect(@user).to be_valid end # letを使う場合 let(:user) { User.new(name: 'Taro', email: 'taro@example.com') } it 'is valid' do expect(user).to be_valid end RSpecを使い慣れている人であれば、おそらくletを使うことが多いと思いますが、初心者の人には違いやメリットがよくわからないと思います。 また、使い慣れている人で

    RSpecのletを使うのはどんなときか?(翻訳) - Qiita
  • 使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita

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

    使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita
  • MinitestとRSpec、FixturesとFactoryGirlの良いところ悪いところをコードを書いて比較してみた - give IT a try

    2022.5.4追記) FactoryGirlはFactoryBotという名前に変更されています(参考)。この記事は昔の名前である「FactoryGirl」を使っています。 はじめに 今年のゴールデンウイークはMinitestとRSpec、FixturesとFactoryGirlについていろいろ研究(?)していました。 具体的にはこんなことをやっていました。 Rails Tutorial 第3版を写経した(第3版ではMinitestとFixturesを使っている) Rails TutorialのテストコードをRSpecとFactoryGirlで書き直した Everyday RailsのテストコードをRSpec + FactoryGirlからMinitest + Fixturesに書き直した The Minitest Cookbookを読んだ 今回のエントリではMinitestとRSpec

    MinitestとRSpec、FixturesとFactoryGirlの良いところ悪いところをコードを書いて比較してみた - give IT a try
  • RSpecの開発者が語る、RSpecとMinitestの利点 - give IT a try

    はじめに 先日、MinitestとRSpecを比較するこんな記事を書きました。 blog.jnito.com MinitestとRSpecの比較記事はネットにたくさんありますが、その中の一つにRSpecのメイン開発者であるMyron Marston氏によって書かれた記事(回答)がStackoverflowに載っています。 ruby on rails - Minitest and Rspec - Stack Overflow 2012年9月の回答なので現在では状況が変わっている点も多少あるかもしれませんが、なかなか興味深い内容だったので翻訳してみました。 質問:MinitestとRSpecについて ついさっきMinitestを解説しているRailscastを視聴しました。 Railsアプリケーションをテストする場合、RSpecとMinitestではどのような長所と短所がありますか? RSpe

    RSpecの開発者が語る、RSpecとMinitestの利点 - give IT a try
  • 「Ruby on Rails on Minitest」を翻訳してみた - give IT a try

    はじめに 今日の朝、Twitterで突然こんなリプライをもらいました。 @jnchito want to translate my slides from railsconf 2015??— Ryan Davis (@the_zenspider) May 11, 2015 どのスライドのことだろう?と思って調べてみたら、どうもこのページで紹介されているスライドのことみたいです。 Ruby on Rails on Minitest | 2015 Railsconf | by ryan davis 発表の動画もYouTubeにありました。 RailsConf 2015 - Ruby on Rails on Minitest - YouTube スライドはPDFで提供されていて、全部で254ページあります。 http://www.zenspider.com/pdf/2015_railsconf_

    「Ruby on Rails on Minitest」を翻訳してみた - give IT a try
  • rspec-temp_dir をリリースしました - くりにっき

    RSpecで一時ディレクトリを作るサンプル - くりにっき で gem化するほどのボリュームもないのでgistで公開 と書いたものの、 rake_shared_context を見て shared_context だけのgemもありかなぁと思ってgem化してリリースしました。 github: https://github.com/sue445/rspec-temp_dir rubygems: http://rubygems.org/gems/rspec-temp_dir 使い方 specファイルで include_context "uses temp dir" を書けばテンポラリディレクトリが作られ、temp_dir で作ったテンポラリディレクトリの名前を取得できます。 テスト実行の度にテンポラリディレクトリは作り直されるので、テストの前後でファイル消し忘れることもないです。 サンプル r

    rspec-temp_dir をリリースしました - くりにっき
  • Rails API Testing Best Practices · Matthew Lehner

    Something went wrong! Hang in there while we get back on track Writing an API is almost a given with modern web applications. I’d like to lay out some simple guidelines and best practises for Rails API testing. We need to determine what to test and why it should be tested. Once we’ve established what we will be writing tests for, we will set up RSpec to do this quickly and easily. Basically we’ll

  • 20分で話せるだけ話すRSpec Hacking Guide

    A framework for easily creating beautiful presentations using HTML

  • Everyday Rails RSpecによるRailsテスト入門でRSpec3に再入門![書評] - 酒と泪とRubyとRailsと

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

    Everyday Rails RSpecによるRailsテスト入門でRSpec3に再入門![書評] - 酒と泪とRubyとRailsと
  • RSpecで「~ではないこと」を検証するときは expect(x).to_not 、または expect(x).not_to のどちらを使うべきか? - Qiita

    expect("spread").not_to include("red") expect("spread").to_not include("red") expect(true).not_to be_nil expect(true).to_not be_nil 上の例で示したように、 to_not と not_to の2種類があり、どちらも同じように動きます。 「たぶんどっちでもいいんだろうけど、あえて決めるならどっちの方がいいんだろう?」ということが気になったので、ちょっと調べてみました。 リソース1. RSpecのドキュメント =「好きな方を使え」 まずRSpecのドキュメントを読んでみました。 expect(actual).not_to matcher(expected) Note: You can also use expect(..).to_not instead of exp

    RSpecで「~ではないこと」を検証するときは expect(x).to_not 、または expect(x).not_to のどちらを使うべきか? - 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
  • [rspec][ruby][rails] rspec-rails と capybara のまとめ, [Life] 散髪記録 - HsbtDiary(2012-11-16)

    ■ [rspec][ruby][rails] rspec-rails と capybara のまとめ rspec-rails と capybara をアップデートしたら request spec で click_link が使えなくなったという声を隣席のぱーらー氏方面から聞こえてきたので、ちゃんとコードを読んで新人's に展開しました。 ぶっちゃけ spec_helper.rb で include Capybara::DSL してしまえば動くんですが、rspec や capybara という Rails でテストを書く上で無くてはならないライブラリの間でどのような方法が良いということになったのかを知ることは Rails Way に乗る上で大事なことです。 それぞれがどのように動いているかを理解するにはまず最初に example group というものを読むと理解が進みます。 https:/

    [rspec][ruby][rails] rspec-rails と capybara のまとめ, [Life] 散髪記録 - HsbtDiary(2012-11-16)
  • rspecの標準matchers(マッチャー)一覧 - 酒と泪とRubyとRailsと

    RSpecの標準マッチャー(matcher)の一覧を作ってみました。できるだけ一覧を見やすくして、開発の手助けになることを目指しています。 🚜 RSpecって何?RSpecのベーシックな情報は以下がお勧めです。 「RSpec をもっと理解したかったので、まとめを作りました」に感動してRuby 1.9.3でやってみた! : 以前作ったものです。RSpecの導入の手助けになると思います。 改めて学ぶ RSpec : RSpec初歩からしっかり理解できるすばらしい記事です。 RSpec 簡潔に記述する(1) it ブロックを短く書く! : 説明がすごくわかりやすくて勉強になります。 🐡 マッチャー一覧 マッチャー not 意味・機能

    rspecの標準matchers(マッチャー)一覧 - 酒と泪とRubyとRailsと