タグ

テストとRailsに関するAkinekoのブックマーク (15)

  • ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test

    Rails には system test (spec) と呼ばれる、Capybara を使った自動ブラウザテストの仕組みが備わっています。これはとても便利で強力なテストではありますが、けして万能ではありません。実行時間が長くなりがちですし、テストコート量も多くなりメンテナンスが大変です。 Ruby でのこのレイヤのテストの先駆けであろう Cucumber からの歴史を振り返りながら、「ちょうどよい」活用の度合いを考えたいと思います。

    ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
  • Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜

    Rails アプリケーションの開発において、自分の変更に関係のないテストのせいで CI がコケるとストレスですよね?真っ先に直したくなりますよね?不安定なテストを直すのは大変な労力が要ると思ってませんか?実は、たいていのケースは簡単に再現確認ができるし、不安定になる要因もだいたい決まっているし、ログやスクリーンショットを見れば原因も簡単に特定できるんです! そんなわけで、日頃不安定なテストを潰している身として知見みたいなものをまとめてみました。 今回利用した環境は次のとおりです。 rails 6.0.0 capybara 3.29.0 selenium-webdriver 3.142.4 rspec-rails 3.8.2 Google Chrome 77.0.3865.75 (headless で使用) ChromeDriver 77.0.3865.40 (f484704e052e0b5

    Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜
  • Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記

    このエントリでは,Ruby on Rails (以下 Rails)の ActiveRecord モデルテストについて,1) どこの何をテストすればよいか,2) どのようにテストを書けばよいか,のガイドラインを示します.このガイドラインは Rails 公式のものではなく,id:passingloop が使っている私的なものです.疑問・質問・批判・間違いの指摘はページ下部のコメント欄までお願いします. はじめに Rails は TDD/BDD サポートが充実した Web アプリケーション開発フレームワークです.Rails で使える Test::Unit や RSpec などといったテスティングフレームワークの使い方に関する解説も豊富にあります.しかし,「どこをどうテストすればよいのか」についての解説は,「使い方」の解説と比較して少ないように思います.もっとも,テスト一般についてどう書くかはアプ

    Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記
  • 移動しました - SmartHR Tech Blog

    Rails のテスト実行時間を60分から6分に短縮するまで - SmartHR Tech Blog

    移動しました - SmartHR Tech Blog
  • Rails 5.1のSystemTestCaseを試してみた - Qiita

    はじめに Rails 5.1で導入されたSystemTestCaseを使ってみたので、その記録を残しておきます。 この記事ではユーザーマスタメンテ画面で、JavaScriptを使った郵便番号自動検索機能をテストします。 Rails 5.1のSystemTestCaseとは? いわゆるエンドツーエンド(E2E)テストを実行するためのテストケースクラスです。 このテストケースクラスを使うと、JavaScriptを利用する画面のテストが書けるようになります。 また、サードパーティgemを使う従来の方式ではDatabaseCleanerやDatabaseRewinderを使って、テストデータのトランザクション管理に関する設定が必要でした。 しかし、SystemTestCaseはフレームワーク内でトランザクション管理をしてくれるので、こうした設定も不要になります。 対象バージョン この記事では以下の

    Rails 5.1のSystemTestCaseを試してみた - Qiita
  • 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の人気テストフレームワーク6選!

    前回は具体的なWebアプリを例にして簡単なコードレビューをしました。今回からは、テストを使ったリファクタリングについて解説していきます 少し時間が空いてしまいましたが、前回は具体的なWebアプリを例にして簡単なコードレビューをしました。今回からは、そのWebアプリに対してテストを書いてリファクタリングする具体的な方法について解説していきます。 今回はまず、Ruby on Railsで人気のあるテストフレームワークの数々についてご紹介します。 最近のテストフレームワークトレンド Hamlの作者として知られるHampton Catlin氏が行った「Hampton's Third Ruby Survey, 2010」の中に、テストに関するいくつかの興味深い結果があります。好きなテストフレームワークは何ですかという質問に対する答えをグラフにすると以下の通りです。 これを見ると「ビヘイビア駆動開発(

    Railsの人気テストフレームワーク6選!
  • Webratがスゴい(続:Cucumberがアツい) - moroの日記

    Cucumberを使って、Railsアプリのテストを高い抽象度で書き進めていくために欠かせないのがWebratというライブラリです。前回のCucumber全体像の紹介に引き続き、こちらWebratを紹介します。今回も長いです。 2008-01-27修正 id:amacouさんから指摘を受けまして(と、たぶんsatokoさんも以前おっしゃってた)webrat_steps.rbの生成先パスを修正。 語: ${RAILS_ROOT}/step_definitions 正: ${RAILS_ROOT}/features/step_definitions ありがとうございます。 今回のまとめ Webratすごい 画面遷移を「リンクをクリックする」「ボタンをクリックする」と書ける リンクのアンカーテキストではまだ日語が使えず。さきほどパッチ送ったので早晩書けるようになるはず。 フォームの入力項目もラ

    Webratがスゴい(続:Cucumberがアツい) - moroの日記
  • ペアプロ1日目: Jack さんと rails 3 と rspec と - かわにしのペアプロにっき

    はじめに 10月30日土曜日、その日は朝から雨風が強かった。日付近を台風が通りすぎており、週末は大変そうだという話題が、数日前から twitter のタイムライン上に流れていた。 そんな中、ぼくらは秋葉原の喫茶店に集合し、4人掛けの席のとなりに座って何やら話を始めた。喫茶店で、男どうしが同じ側に座って、一台のパソコンの画面を眺めている。ちょっと不思議な光景かもしれない。けれども、これがぼくらのペアプロのスタイルだ。 今回のお相手 今回お相手してくださったのは、Jxck さん。86世代よりちょっと年上の方だ。Jxck さんとの出会いは、今年の XP 祭り。ランチをご一緒させていただいたのと、懇親会で立ちながら語りあったのを覚えている。 XP 祭りでの懇親会で、すごく印象に残ったのが、彼の情熱だ。まず、ペアプロの楽しさを伝えたいという事がビンビンと伝わってきた。さらに、その楽しさというのは、

    ペアプロ1日目: Jack さんと rails 3 と rspec と - かわにしのペアプロにっき
  • Cucumber入門(1) 一番最初のCucumber

    ※. Javascript版のGoogle Searchに対応しました 21, Apl, 2012 明日Cucmberについてのmeetupがあるので予習します。 Cucumberとは Cucmberはプレーンなテキストの機能記述を自動テストとして実行するツールです。Cucumberが理解する言語はGherkinというものです。 CucumberそれそのものはRubyで書かれていますが、Rubyやその他の言語(java、C#とpaythonを含みそれだけではない)で書かれたコードを”テスト”するために使われます。Cucumberは最小限のruby programmingを必要とし、Rubyは簡単です。なのでRubyでないコードを開発していても恐れないでください。 githubより RailsにCucumberを導入した状態から始めようと思ったのですが、チュートリアルを読み進めていくうちにC

  • CucumberとWebratをRailsで使って、さらにautotestで動かしてGrowlで通知する - AorBorF

    今流行りつつある話題のCucumberとWebratをRailsで使ってみました。 CucumberとWebratなんぞやという人はid:moroさんの「 Cucumberがアツい」が参考になります。 今回やったこと RailsにCucumberを入れてみた Featureの予約語を日語にして動かしてみた Cucumberをautotestでも動くようにしてみた autotestの結果をGrowlに通知するようにしてみた 参考サイト 上記のCucumberがアツい Cucumberのgithub 必要なパッケージのインストール 以下のgemが必要みたいなので、まだインストールしていない場合はインストールします。 rspec rspec-rails cucumber webrat term-ansicolor treetop diff-lcs nokogiri ZenTest(autote

    CucumberとWebratをRailsで使って、さらにautotestで動かしてGrowlで通知する - AorBorF
  • CucumberとWebratの組み合わせが素晴らしすぎる - (゚∀゚)o彡 sasata299's blog

    2009年07月05日13:34 Ruby CucumberとWebratの組み合わせが素晴らしすぎる UK STUDIO - Cucumberの登場でRailsのテスティング環境が変わった Cucumberがアツい - moroの日記 Webratがスゴい(続:Cucumberがアツい) - moroの日記 Cucumber にふれてみた - yuum3のお仕事日記 この辺りの記事を読んで、「Cucumber」って何か凄そうだなぁ、使ってみるか!と思ったささたつです。こんにちわ。今日も暑いですね。。。(*´Д`) Cucumber にふれてみた - yuum3のお仕事日記 Cucumber自体は日語などの自然言語でテストシナリオを書けるフレームワーク的なもので、実際のテスト機能は含まれていません。ここでは実際のテストはWebratというWebアプリの受入テスト用ソフトでおこないます。

  • rr README.rdoc(バージョン 0.10.10)私訳

    今回はrr(double ruby)というRuby製のテスト用のダブルオブジェクトを作成するライブラリのREADME文書(バージョン0.10.10時点)を訳してみました。ダブルとはユニットテスト書く時などに作るダミーのオブジェクトの総称で、モックやスタブもその1種です。 Rubyには、この様なライブラリがflexmockやshouldaなどがあります。ある勉強会で聞いた話だと、rrが、xUnit Patternsで定義されているダブルの定義に一番忠実に沿っているそうです。 個人的にはRSpecでテストを記述する際にrrを使っています。簡潔にダブルを書くことができるのでとても気に入っています。

  • RSpec-RailsでスタブにRRを使ってみた - AorBorF

    RSpecはもともとスタブやモックをサポートしているんだけど、他のライブラリのスタブを組み込むこともできる。 機能的にはどのライブラリでも大差は無いんだと思うんだけど、RSpecのスタブとモックは何となく好きになれない。*1 というわけでスタブにRRを使ってみた。 RRのインストール gemで一発 sudo gem install RR RSpecのスタブライブラリにRRを使う宣言 /path/to/project/spec/spec_helper.rbで以下を追加 Spec::Runner.configure do |config| # If you're not using ActiveRecord you should remove these # lines, delete config/database.yml and disable :active_record # in yo

    RSpec-RailsでスタブにRRを使ってみた - AorBorF
  • WEB+DB PRESS vol.61 Rails3テスト最前線がすばらしい - tech-kazuhisa's blog

    WEB+DB PRESS vol.61の「Rails3テスト最前線」という記事がかなり良かったので、注釈を交えて紹介したいと思います。 何が良かったのか? 自分はRails2系でTest::Unitを実践していました。AutoTestとYAMLによるデータ投入でおおむね満足していましたが、次のポイントが気になっていました。 YAMLによるデータ投入は重複が多いのでコピペでデータを作成していた。 Test::Unitはログイン処理など共通の処理をくくり出すのが難しかった。 Viewのテストの方法が分からなかった。 しかしこの記事で気になる点がスパッと解消されました。私と同じような人はこの雑誌の記事が役に立つと思います。 ちなみに私はMacのSnow Leopard上でRuby1.9.2を使ってこの記事の内容を試しました。1.8.7を使う前提で書かれている箇所もあるので注意してください。(後で

    WEB+DB PRESS vol.61 Rails3テスト最前線がすばらしい - tech-kazuhisa's blog
  • 1