タグ

rubyとテストに関するy_yukiのブックマーク (14)

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

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

    ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
  • Webページを監視して表示崩れが起きていないか検出できるE2Eテストを実装しました | Recruit Tech Blog

    お世話になります、フロントエンド担当をしている小原正大です。Webページの表示を監視して差異があった場合、どのページで表示の変化が起きているかを知ることが出来るプログラムを実装したのでそのことについて書こうと思います。 何につかったの? 僕がフロントエンドを担当しているサービス『料理サプリ』で大規模なフロントエンドコードのリファクタリング行う際に表示テストを自動化するために作成しました。『料理サプリ』はPC・スマホ合わせて大体350-400ページの表示パターンが存在する比較的規模の大きいサイトです。全ページに影響を与えるような作業は大規模な回収となり、今回のリファクタリングでは表示テストの計画などの段取りが必要でした。従来の人手によるQAでは細かいバグを見過ごしたり時間がかかり効率が悪いので、可能な限り自動化しようと考え実装しました。 実装の概要 この監視のシステムは以下の2つ実装を組合わ

    Webページを監視して表示崩れが起きていないか検出できるE2Eテストを実装しました | Recruit Tech Blog
  • RSpecでRequest Describer - Qiita

    WebアプリケーションのHTTPレベルでの振る舞いに対してテストを記述するとき、皆さんはどのような考えを持ってテストコードを記述しているでしょうか。この投稿では、この手のrequest-specと呼ばれるテストについて考えながら、テストを書くときの幾つかの方針と、RSpec::RequestDescriberを利用してテストコードを簡略化する方法を紹介します。 request-specとは request-specという、HTTPにおけるリクエストとレスポンスの組み合わせを、言わばブラックボックスとして扱うテスト形式の呼び名があります。リクエストを入力、レスポンスを出力として扱い、ある入力に対して期待される出力が返されるかどうかをテストします。rspec-railsの中では、request-specに対して以下の説明が与えられています。 Use request specs to speci

    RSpecでRequest Describer - Qiita
  • 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

  • 私がRSpecを書く場合のやり方について | 自転車で通勤しましょ♪ブログ

    今日は木曜日だったので、ハンバーグの会(Okayama.rb)に参加してきました。 今日は@mako_wisにテストの書き方について相談を受けたので、粒度とかについて説明しましたが、私は説明し始めると早口になってしまうので詰め込みすぎたかもしれないと思ったのでちょっとまとめておこうと思いました。ちなみに、書き方といってもRSpecの始め方とかではないです。その点はあしからず。 Railsプロジェクトのいいところは、テストがとてもしやすいところだと思います。 私は今の会社に入るまで、テストは書きたいけれど、どう書けばいいのかわからなかったのと、頑張って書いてみたものの、成果が周りに評価されなかったのでこのままでいいのだろうか?と思い悩んでいました。しかし、既にテストがあるプロジェクトに入って書き方を学べた事と、同僚とThe RSpec Book読書会を社内で開いて勉強したおかげで、結構綺麗に

  • WebのUIテスト自動化 - Seleniumを使ってみる - Qiita

    Appiumを色々触っているんですが、仕組みが同じSeleniumもちょっと触ってみました。 だいぶ色々なことができそうなのでこちらも触りつつメモを取っていこうと思います。 実際の動画デモ 実際にどんなことができるのか、参考動画を撮ってみました。 内容的にはネタな感じにしていますが、どんなことができるか分かってもらえるかと思いますw Seleniumとは Seleniumはクロスブラウザ、クロスプラットフォームのUIテストツールです。 ブラウザに表示される要素を操作し、取得して想定されうる状態になっているかをテストできます。 また、画面のキャプチャを撮ることもできます。 検索してみると有用な記事がいくつかあるので、詳細はそちらを見てください。 ここでは簡単に触ったメモや所感を書いていきます。 JavaScriptテスト自動化ツールSeleniumのこれまでとこれから(前編)。第1回 日S

    WebのUIテスト自動化 - Seleniumを使ってみる - Qiita
  • 7. RRRSpecについて補足 - 進捗

    分散テスト実行システムRRRSpecをリリースしました | クックパッド開発者ブログ 公開したらいろいろ反応があって嬉しいのだけれども、ちょっと補足したいところもあったし、様々な事情により今書いてしまうのが妥当なので、個人の日記でポエムっぽく補足する。 名前 RRRSpecで「とりぷるあーるすぺっく」。 マシンのスケーリングについて 「なんとか理論」って書いているが、実際のところすごく活用しているわけでは全くない。専門の人からしたら小学生ですか〜と言われるレベルなので、お断りとして大学の学部生が教養で学ぶレベルという形になっている。 ただ、こういうスケーリングに関係するところで、初歩的な方法ではあっても"It works"な結果が得られているので、勝てば官軍、動けば正義なところはある。実際、オークションの値段を決めるのにも、いくらで入札するのか、いくらまでだったら値上げするのか、落札できな

  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • モダンなRails開発をしてみての振り返り - 130単位

    Rails3.2/GitHub/Pivotalという割とモダンな環境で2ヶ月間開発してました。その契約期間が終了したので、振り返ってみます。 Gems 自分の担当で、初めて(格的に)使ったGemたち no title 帳票PDF出力 no title PDF解析(テスト用) no title Zip圧縮 no title ユーザー認証 no title HTML加工 no title 検索フォーム補助 no title よりよいフィクスチャ no title RSpecマッチャ拡張 no title 並列テスト no title プログレスバー型RSpecフォーマッタ 日に日にテスト実行時間が長くなっていて、どうにかしたいと思って最終日に探してすぐ導入したParallel testsが印象的です。 Retrospection ひとり開発でやっていたことが活かせた Railsは経験の蓄積が

    モダンなRails開発をしてみての振り返り - 130単位
  • Ruby用単体テストフレームワークtest-unitでのデータ駆動テストの紹介 - 2013-01-23 - ククログ

    test-unitRuby用のxUnit系の単体テストフレームワークです。2.3.1からデータ駆動テスト機能が追加されていたのですが、2.5.3まではリファレンスに記述がなく、知る人ぞ知る機能でした。 2013-01-23にリリースされた2.5.4ではデータ駆動テスト機能についてのドキュメントが追加されています。 データ駆動テスト自体の説明はUxUを用いたデータ駆動テストの記述を参照してください。 Cucumberのscenario outlinesに似ていると言えばピンと来る人もいるのではないでしょうか。 Cucumberのscenario outlinesも前述のククログ記事の通り、テストのデータとロジックを分離しているのでデータ駆動テストの一種と言えます。 今回は、データ駆動テストを導入した例を見ながらtest-unitでのデータ駆動テスト機能の使い方を紹介します。なお、以降の説明

    Ruby用単体テストフレームワークtest-unitでのデータ駆動テストの紹介 - 2013-01-23 - ククログ
  • RSpecでテストを作るのに役立つ「モック/スタブ」のシンプルな説明

    🖥 VULTRおすすめ 「VULTR」はVPSサーバのサービスです。日にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

    RSpecでテストを作るのに役立つ「モック/スタブ」のシンプルな説明
  • 私はRSpecでテストをこんな感じで書いてる - アジャイルSEを目指すブログ

    私がRSpec使ってテスト書く時はこんな感じで書いてるよ〜ってのを書いてみた。*1 テストを書く順番について TDDでコードを書く場合、先にテストを書く事になります。 そして、そのテストを書く順番ですが、私は下記のような順番で書くように意識しています。 設計する describe を書く itを書く subjectを明確にする before(context)を明確にする その他に、気をつけている点はこんな感じ 別のメソッド呼ぶ時は基的にstubなどで潰す contextは「〜の場合」、it は「〜であること」になるようにする 一つずつ、詳細を書きます。 設計する テストを書き始める前に、まず実装しようとしてるクラス、メソッドを簡単に設計します。 少なくとも、「クラス名」「クラスメソッド or インスタンスメソッド」「メソッド名」「メソッドの戻り値」ぐらいは決めます。 describe を

    私はRSpecでテストをこんな感じで書いてる - アジャイルSEを目指すブログ
  • いまどきの Ruby 書くときのテスト環境 - Stats of the Rivers

    romaji というライブラリを書いた。 - 寿司じゃないブログ という記事を書いたのだが、テスト環境について反応があったのでもうちょい詳しく書く。 RSpec テスティングツールのデファクトスタンダード。 http://rspec.info/ に行くか、The RSpec Book を読もう。 Guard ソースコードが編集されているかを監視して、変更があった場合に自動でテストを走らせてくれる。 guard/guard · GitHub guard と guard-rspec を gem install して、以下のようなファイルを Guardfile という名前でプロジェクトのルートディレクトリに置き、 guard コマンドを走らせると、watch で指定したファイルの変更の監視してくれる。 guard 'rspec', :version => 2, :all_after_pass =

  • 1