タグ

Rspecに関するmasutaka26のブックマーク (71)

  • RSpecの作者が振り返る歴史(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: History of RSpec – Steven R. Baker 原文公開日: 2021/05/09 著者: Steven R. Baker 日語タイトルは内容に即したものにしました。 私がTDD(テスト駆動開発)をチームで教え始めたのは2001年のことでした。当時のTDDはまだかなり新しい概念でしたので、テストを自動化したチームもほとんどなく、XP(エクストリームプログラミング)やTDDについて聞いたことがある人も皆無でした。テストを最初に書くことで設計を進めるという概念は当時まったく知られていなかったので、TDDを理解するのに皆とても苦労していました(20年経った今でも、この事実が完全に変わったとは言えません)。 思い返せば、あの当時は厳しい状況でした。最善を尽くしてTDDの概念を説明し、どうにかしてチームの関心を惹こう

    RSpecの作者が振り返る歴史(翻訳)|TechRacho by BPS株式会社
    masutaka26
    masutaka26 2021/05/28
    へ〜。他にドロドロした話もあったのね "RSpecはあくまで教育用ツールだと考えていたので、「標準」のテストツールを使いたかったのです"
  • GitHub - willnet/rspec-style-guide: 可読性の高いテストコードを書くためのお作法集

    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

    GitHub - willnet/rspec-style-guide: 可読性の高いテストコードを書くためのお作法集
    masutaka26
    masutaka26 2017/12/10
    テストの再現性がなくなるので相対時間は使いたくないなあ。バグがあればその時間でテストを追加すれば良いだけだし。subject は I/O がはっきりした関数にうまくハマりますね。それ以外は無理して使わない
  • RSpecしぐさ

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

    RSpecしぐさ
    masutaka26
    masutaka26 2017/12/10
    インスタンス変数は typo してもエラーにならず nil が返ってしまう。この理由だけで使うのを止めてしまったなあ...
  • rspec-rails 3.7の新機能!System Specを使ってみた - Qiita

    はじめに 先日、RSpec 3.7がリリースされました。 参考: RSpec 3.7 has been released! 上記ブログの中で「今回のリリースはRailsのSystem Testの統合機能をいち早く使ってもらうためのリリースだ」と書いてあります。 実際、ブログの中で触れられている新機能は「System Spec」機能の追加だけです。 というわけで、この記事はrspec-rails 3.7で導入されたSystem Specの紹介と使い方の説明をしていきます。 実行環境 この記事は以下のバージョンを対象にして書かれています。 rspec-rails 3.7.1 Rails 5.1.4 Ruby 2.4.2 selenium-webdriver 3.6.0 Capybara 2.15.4 Chrome 62 ChromeDriver 2.33 サンプルコード この記事で使用したコー

    rspec-rails 3.7の新機能!System Specを使ってみた - Qiita
  • CircleCI + KnapsackProでRailsのテストを高速化させる - Qiita

    CircleCIのテスト並列実行 CircleCIは複数のコンテナを利用してテストを並列実行させることができる。 コンテナを増やすとお金がかかる。 コンテナを増やすだけテストを早く終わらせることができる。 問題点 コンテナに割り振ったテストの実行時間にばらつきがあると、最終的なテストの完了時間=最もテストに時間がかかってるコンテナとなってしまう。 解決策 テストファイル毎の実行時間を保存して、再度テストする際は前回の実行時間を元に各コンテナにテストファイルを配分する。 Knapsack Proとは https://knapsackpro.com 各種CIサービスに対応したテストを分割することだけに特化したサービス。 CircleCIのドキュメントにさり気なく書かれている。 使い方 基的には https://github.com/KnapsackPro/knapsack_pro-ruby

    CircleCI + KnapsackProでRailsのテストを高速化させる - Qiita
    masutaka26
    masutaka26 2017/10/19
    へぇ "各種CIサービスに対応したテストを分割することだけに特化したサービス"
  • 【翻訳】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
    masutaka26
    masutaka26 2017/10/17
    やはり。RSpec で一番大事なことは人間が読めるテストコードにすることだと思う。出力は二の次
  • Introduction to Verifying Doubles in RSpec - Semaphore

  • RSpec on RailsでMockやStubがやっと腑に落ちた。これは確かにすごい。 - POHAS

    rails MockとStubの区別が曖昧で、今ひとつ腑に落ちないまま、WEBのコードを参考に書いていたけど、takihiroさんのブログを見て、やっと自分も腑に落ちた。何が すごい!と思ったかというと、この機能を使うと、モデルとコントローラ、モデルとビュー をそれぞれキレイに分離できそうだ思わされるという点です。RSpec のおかげで「分離するとはこういうことか」ということが分かりました。http://d.hatena.ne.jp/takihiro/20081023/1224762895takahiroさん、GJ!ありがとうございます。とても良いまとめでした。ただ、最後のコードサンプルの中で、 # (A) で作成したモックを返すことを記述している。 Product.should_receive(:find).with("37").and_return(mock_product) # (2

    masutaka26
    masutaka26 2017/05/02
    どちらなのかよく分からなくなる。モック(expect) はオブジェクトに対するメソッドの呼び出し方を検証する。スタブ(allow)は検証しない
  • Docker時代の分散RSpec環境の作り方 // Speaker Deck

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

    Docker時代の分散RSpec環境の作り方 // Speaker Deck
  • RSpecの指針について網羅的に書いてみたかった - Qiita

    概要 この記事では、RSpecにあまり馴染みがない人にもわかりやすいように、RSpecの理想的な書き方(=コーディングルール)を説明しようとしています。 書いてあることは個人的な見解です。理性的な議論を歓迎します。 友人に語っているような文体ですのでお気をつけください。 動機 俺はみんなにRSpecを書いてほしかったんじゃない。 いいRSpecを書いてほしかったんだ(´・ω・`) なぜかバリデーションだけ一生懸命にテストされていて自作の30行近いメソッドにテストがないとか、10行近いbeforeブロックがコピペされまくってるとか、そういうのはさ、見たくないんだ。 あと、http://betterspecs.org/ は読もう。日語版もあるし。そこに書いてあることはここでは繰り返さないので、あしからず。 総論 はじめに ここから先は読まなくてもいいからこれだけは読んでほしい。 itブロック

    RSpecの指針について網羅的に書いてみたかった - Qiita
    masutaka26
    masutaka26 2016/08/07
    良いですね。
  • RSpec 3.5 がリリースされました!

    Sam Phippen, Myron Marston, Jon Rowe and Yuji NakayamaJul 1, 2016RSpec 3.5 がリリースされました! 私たちは semantic versioning に準拠する方針を掲げているため、 このリリースはすでに RSpec 3 を使っている方にとってなにか対応が必要になるものではありません。 しかし、もし私たちがバグを作り込んでしまっていた場合は教えてください。 できるだけ早く修正をし、パッチ版をリリースします。 RSpec は世界中のコントリビュータと共に、コミュニティ主導のプロジェクトであり続けます。 今回のリリースには、50 人以上のコントリビュータによる 600 以上のコミットと 150 以上の pull request が含まれています! このリリースに向けて力になってくれたみなさん、ありがとう! 主要な変更 C

    RSpec 3.5 がリリースされました!
    masutaka26
    masutaka26 2016/07/02
    Rails 5 対応。バグも直っているといいな。
  • RSpecのベストプラクティスとRSpec3の新機能 - rochefort's blog

    WEB+DB PRESS Vol.89 の いまどきのRSpecテスト が良かったです。 日人で唯一のRSpec core teamに所属するyuji nakayamaさんの記事ですので読み応えがあります。 余談ですがcore teamの中でもアイコンが目立っています。かっこいい。 https://github.com/rspec WEB+DB PRESS Vol.89 作者: 佐藤歩,泉水翔吾,村田賢太,門田芳典,多賀千夏,奥一穂,伊藤直也,鍛治匠一,中山裕司,高山温,佐藤太一,西尾泰和,中島聡,はまちや2,竹原,青木大祐,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2015/10/24メディア: 大型この商品を含むブログを見る RSpecのベストプラクティス おすすめ spec/spec_helper.rb テストのrandom実行以外はやっていませんでし

    RSpecのベストプラクティスとRSpec3の新機能 - rochefort's blog
    masutaka26
    masutaka26 2016/02/27
    読んでなかった。いくつか取り入れられそう。
  • Rspec の pending と skip って何が違うの? - Qiita

    何が違うか知らなかった時に調べたメモ。ちなみに Rspec 3 の話。 簡単に言うと以下のとおり。外的な要因で一時的に落ちているけど、いずれ通るようになる example は pending にすれば良いと思われる。(参考資料) pending: example が失敗したらテストは成功になる skip: example は実行されない pending は何らかの事情で example が失敗する原因を修正できない場合に使えば良い。パッチがマージされるまで example が失敗する場合など。そのような時に pending を使っておけば、example が失敗する原因が修正されたときに(pending な example が成功することで)テストが失敗するようになるので、もう pending にしておく必要がないと気づくことができる。あるいは原因不明だけど example が失敗している

    Rspec の pending と skip って何が違うの? - Qiita
    masutaka26
    masutaka26 2015/12/23
    “pending: example が失敗したらテストは成功になる skip: example は実行されない”
  • RailsでAPI開発する前に知っておくべき4つのこと - Qiita

    $ bin/rails g scaffold user name:string mail:string password:string invoke active_record create db/migrate/20151214145437_create_users.rb create app/models/user.rb invoke test_unit create test/models/user_test.rb create test/fixtures/users.yml invoke api_resource_route route resources :users, except: [:new, :edit] invoke scaffold_controller create app/controllers/users_controller.rb invoke test_un

    RailsでAPI開発する前に知っておくべき4つのこと - Qiita
    masutaka26
    masutaka26 2015/12/23
    rspec-json_matcher はうちで使えそうだ。RSpec 標準の have_http_status matcher も使おう。
  • リーダブルRspec - Qiita

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

    リーダブルRspec - Qiita
    masutaka26
    masutaka26 2015/12/14
    いいですね
  • 技術/今更ながら minitest 入門してみた話 - esa-pages.io

    この記事は フィードフォースエンジニア Advent Calendar 2015 - Adventar 10 日目の記事です。 9 日目は kano-e 先生による フィードフォース ボドゲ部は毎週水曜 19:30 頃から活動中 でした。 > イントロイントロ こんにちは。フィードフォースの茂木です。 今日から KAC REFLEC BEAT 部門 予選スタートですね。皆さんよろしくお願いします! さて、日は minitest についてお話したいと思います。 世の中にある Gem を眺めていると minitest でテストが書かれてることがあります。 そんな Gem に PR 出したくても、rspec でしかテスト書いたことがないと、つい「うっ、頭が…」となってしまいます。 (初めて rspec を学習した時に苦労した思い出が蘇ってくるからですね...) 最近そんな状況を脱却すべく、新し

    技術/今更ながら minitest 入門してみた話 - esa-pages.io
    masutaka26
    masutaka26 2015/12/11
    ほんそれ “今のところ test についてあれこれ考えたくなくて、使い慣れてる rspec でいいや、状態” ※ 弊社のアドベントカレンダー 10 日目の mgi パイセンです
  • 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 がリリースされました!
  • RSpecとMinitest、使うならどっち? / #kanrk06 // Speaker Deck

    関西Ruby会議06で使用したスライドです。 http://regional.rubykaigi.org/kansai06/ 動画版はこちらです。 https://www.youtube.com/watch?v=XAzzA4la59E スライド作成の裏話等はブログに書いています。 http://blog.jnito.com/entry/2015/07/13/073458

    RSpecとMinitest、使うならどっち? / #kanrk06 // Speaker Deck
    masutaka26
    masutaka26 2015/07/11
    テストの書き方覚えても何にもならないから、すでに習得したRspecでいいやと思っちゃいます
  • 実用的な新機能が盛りだくさん!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 3.3 has been released!

    Myron MarstonJun 12, 2015RSpec 3.3 has just been released! Given our commitment to semantic versioning, this should be a trivial upgrade for anyone already using RSpec 3.0, 3.1 or 3.2, but if we did introduce any regressions, please let us know, and we’ll get a patch release out with a fix ASAP. RSpec continues to be a community-driven project with contributors from all over the world. This releas

    RSpec 3.3 has been released!