タグ

rspecに関するjune29のブックマーク (38)

  • Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記

    昨日のRails Developers Meetupで綺麗なテストコードの書き方について発表してきました。 Rails Developers Meetup #1(東京会場) - connpass 資料はこちら 余談 もともと数年前くらいから、テストコードの書き方についてまとめたいなーと思っていたのですがなかなかキッカケがなくて手を付けられていませんでした。今回のミートアップ駆動で一通り形にするところまでいけて今とてもスッキリした気持ちです 😇 もっと多くの人にテストコードの書き方を意識してもらいたいので、また機会があればどこかで喋りたいですね。 昨日発表した内容はGitHubリポジトリにまとめたものの一部です。綺麗なテストコードの書き方について詳しく知りたい方は下記のリンクからどうぞ。 willnet/rspec-style-guide お願い 今回まとめた内容はあくまで僕が考えるテスト

    Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記
    june29
    june29 2018/11/04
    尊い…。
  • RSpec の feature spec でヘッドレス Chrome を使う - Speee DEVELOPER BLOG

    Speee エンジニア組織推進室の服部 (yhatt) です。 みなさん E2E テストされていますでしょうか。弊社の Ruby on Rails プロダクトにおいては、RSpec、Capybara、 Poltergeist を組み合わせ、 feature spec で E2E テストを行う構成が一般的でした。 そんな中、Chrome 59 に ヘッドレスモード (--headless) が搭載 されたことで、テストや CI 環境において、最新の Chrome 環境による E2E テストを実施できるようになりました。それに合わせて、PhantomJS のコアメンテナーがメンテナーを降りる ことを発表し、PhantomJS のアップデートや、継続的サポートは期待できない状況となっています。 ヘッドレス Chrome ことはじめ  |  Web  |  Google Developers [A

    RSpec の feature spec でヘッドレス Chrome を使う - Speee DEVELOPER BLOG
  • 立ち上げ期スタートアップのテスト方針(Ruby on Rails編) - マチマチ技術ブログ

    こんにちは!マチマチというご近所SNSを開発している id:fujimuradaisuke です。 スタートアップで働くみなさん、テスト書いてますか?テストの書き方・方針ってチームによってかなり異なるんじゃないかなーと思っています。実際いままで僕が参加したチームもそれぞれに個性がありました。そこでマチマチのテスト方針やその背景をシェアしたら面白いのでは…?と思ったので(僕は他の人のテスト方針を読みたいです)、社内向けにまとめておいた文章を共有してみようと思います。 背景 ご近所SNSマチマチは「ひらかれた、つながりのある地域社会をつくる」というミッションのもと2016年に開発がスタートしました。現在外部のお手伝い頂いている方を含めて5人のエンジニアで開発しています。構成としてはプレーンでモノリシックなRuby on Railsのアプリケーションです。現在は気がつけばモデルが200個とそこそ

    立ち上げ期スタートアップのテスト方針(Ruby on Rails編) - マチマチ技術ブログ
  • Railsのテスト実行時間を1/3まで短縮した話 (Rspec + CircleCI)

    背景CIのビルド実行時間の長さは度々社内で問題になっており、「CIに時間かかるので業務効率が下がる」といった話が現場でも増加していました。 業務時間中は複数 Pull Request のビルドが発生するので、「CI順番待ちで次の自分のビルドは1時間後」のような現象は日常茶飯事でした。 おまけに「頻度は低いがランダムで失敗するテスト」といった false positive なテストの存在も、開発現場のフラストレーションは溜まる原因になっていました。単純に CI を再ビルドすれば直るのか、自分が追加した実装/rspecに問題があるのか一件判断がつかないケースだと、開発担当者も一旦 CI 上で再ビルドを行い、同じ箇所でコケるのか確認することになるので、これがさらなる CI 渋滞を引き起こしていました。 こうした背景もあり、丁度プロジェクトの隙間で工数もあったので「CI 改善をしっかり工数確保して

    Railsのテスト実行時間を1/3まで短縮した話 (Rspec + CircleCI)
  • 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
  • RSpecによるユニットテストの書き方 – recompile.net

    最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめに ごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと、次のようなテンプレー

    RSpecによるユニットテストの書き方 – recompile.net
  • Rails Developers Meetup 2017 で RSpec しぐさについて話した - onk.ninja

    Rails Developers Meetup 2017 で RSpec しぐさについて話した Rails Developers Meetup の年末拡大版である、Rails Developers Meetup 2017 で発表させていただきました。 RSpec をどう書いていくと良いのかの指針、みたいな話です。資料はこちら スライドを作るにあたって考えたこと 「5 分では RSpec の こう書くべき という話にたどり着けない」が最初の山でした。 考えてみれば 第 1 回 Rails Developers Meetup の willnet さんの話 が同じ題材 (RSpec の書き方) で、35 分枠だったので当然ですね。 そこで伝えたいことを絞ることにしました。どうせ聴衆は Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on

    Rails Developers Meetup 2017 で RSpec しぐさについて話した - onk.ninja
  • RSpec で単一の example を共有するためによく利用しているコード - r7kamura - Medium

    RSpec で細かく context を分けてテストケースを書いていると、複数の Example Group 間で単一の Example を共有したいケース、つまり異なる context で同じ it のブロックを共有したいケースによく遭遇します。 context "without current user" do it "returns 200" do is_expected.to eq(200) end endcontext "with current user" do include_context "with current user" it "returns 200" do is_expected.to eq(200) end endこの目的のために、shared_examples (あるいはその alias) を利用することができますが、shared_examples に付ける

    june29
    june29 2017/11/27
    なるほどなあ。
  • 【翻訳】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
  • Rspecでfailするとデスメタルが流れるようにした - ( ꒪⌓꒪) ゆるよろ日記

    あまりにもテスト通らないのでデスメタル聴き始めた— ⁰⁰⁰⁰null (@yuroyoro) 2015, 7月 2 このような事があったので自動化した。 Mac限定。 こんな感じ。successだとレベルがアガる。 事前にbash-itunes というコマンドラインツールを入れておく。 iTunesを日語で使ってる場合、patchを当てる必要がある。 こちらを山椒 コードはこれな。 class PlayItunesReporter attr_accessor :success_track, :failure_track def initialize(options = {}) @success_track = options[:success] @failure_track = options[:failure] end def dump_summary(notification) re

    Rspecでfailするとデスメタルが流れるようにした - ( ꒪⌓꒪) ゆるよろ日記
  • RSpec::HueFormatter

    DEMO VIDEOS Get to know everything Vimeo can do for your business. Watch now

    RSpec::HueFormatter
    june29
    june29 2015/04/09
    だいぶ Spec 落ちている…
  • 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
  • Sitespec - r7kamura blog

    [Sitespec](https://github.com/r7kamura/sitespec)という静的サイト生成ツールを作り、このブログを移行した。 ## Sitespec Sitespecは、Webアプリとテストから静的サイトを生成するためのツール。 WebアプリにはRackを、テストにはRSpecを使う。 Rackを使った適当なWebアプリを用意し、 RSpecでHTTPリクエストを発行するように記述したテストを実行すると、 レスポンスの内容から静的ファイルが生成されるという仕組みになっている。 参考までに紹介しておくと、静的サイト生成ツールには他に [Middleman](http://middlemanapp.com/)や[Octopress](http://octopress.org/)、[Movable Type](http://www.movabletype.jp/) な

    june29
    june29 2013/11/19
    RSpec の副産物としてブログ的なテキストをブログっぽいフォーマットで出力するアプローチと、その小さな実践。
  • 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を使おう!
  • Rails rspec and omniauth (integration testing)

    My Rails 3.2 app uses OmniAuth and Devise to sign in with Twitter. The authentication system works fine. I would like to write an integration test in rspec to make sure everything works. Using the information in the wiki, I've written the following, but I know I'm missing things. Under test.rb in config/environments, I have the following lines OmniAuth.config.test_mode = true OmniAuth.config.mock_

    Rails rspec and omniauth (integration testing)
    june29
    june29 2012/12/26
    OmniAuth.config.mock_auth を設定する。
  • [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)
  • Better Specs. Testing Guidelines for Developers.

    What is Better Specs Better Specs is a collection of best practices developers learned while testing apps that you can use to improve your coding skills, or simply for inspiration. Better Specs came to life at Lelylan (open source IoT cloud platform) and checking out its test suite may be of inspiration. Better Specs focus on Rails testing, but our goal is to create testing guidelines covering mos

  • 札幌 Ruby 会議 2012 で COOKPAD での分散 RSpec への取り組みについて発表しました - 恒温動物の生活ログ

    札幌 Ruby 会議 2012 にて、COOKPAD が開発者テストとCIの時間を削減するために行っているアプローチである「分散 RSpec」について発表しました。 スライドを SpeakerDeck.com にアップロードしました。

    札幌 Ruby 会議 2012 で COOKPAD での分散 RSpec への取り組みについて発表しました - 恒温動物の生活ログ
  • 社内勉強会で RSpec の基本機能の紹介をした - 恒温動物の生活ログ

    スライドを SpeakerDeck に上げました。

    社内勉強会で RSpec の基本機能の紹介をした - 恒温動物の生活ログ
    june29
    june29 2012/09/27
    これは mrkn 先輩に講義をお願いしたくなる!
  • QA@IT サービス終了のお知らせ - @IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    QA@IT サービス終了のお知らせ - @IT