Rubyist Magazine - エンドツーエンドテストの自動化は Cucumber から Turnip へ が出てたので便乗。めんどくさい所はるびマに任せます!! ※ Turnip についてのドキュメント、一応職場の開発チームだけが見える場所に書いてあるんですが 認識が間違ってたら誰かに教えてもらうためにここにも書いておきます。 だれか Turnip 使い込んでる人いろいろ教えてください!! 本稿のターゲット Cucumber 使ったことある 使ったことなくても知っている 知らなくてもとりあえず見てみたい Turnip 、まずは動かしてみたい るびまの方では rails や capybara との連携も含めてがっつり書いているので、ここでは本当に turnip のみを対象にしてみた という人 Turnip とは Turnip とは、RSpec 向けの Gherikin 拡張ライブラリ
Appiumを色々触っているんですが、仕組みが同じSeleniumもちょっと触ってみました。 だいぶ色々なことができそうなのでこちらも触りつつメモを取っていこうと思います。 実際の動画デモ 実際にどんなことができるのか、参考動画を撮ってみました。 内容的にはネタな感じにしていますが、どんなことができるか分かってもらえるかと思いますw Seleniumとは Seleniumはクロスブラウザ、クロスプラットフォームのUIテストツールです。 ブラウザに表示される要素を操作し、取得して想定されうる状態になっているかをテストできます。 また、画面のキャプチャを撮ることもできます。 検索してみると有用な記事がいくつかあるので、詳細はそちらを見てください。 ここでは簡単に触ったメモや所感を書いていきます。 JavaScriptテスト自動化ツールSeleniumのこれまでとこれから(前編)。第1回 日本S
はじめに この記事はTDD Advent Calendar 2013の17日目の参加エントリです。 前日はid:a_suenamiさんのTDDが僕に教えてくれたことでした。 このエントリが目指すところ 「Railsで開発しつつも実はあまりテストを実践出来ていない」という方を対象に、 Rails*RSpecでunit/functional test Capybaraでブラウザの挙動をシミュレート FactoryGirlでテストデータを自由に準備 Guardでファイル編集の度にテストを自動実行 Sporkでサイクル高速化 を実現するために役立つ記事を紹介します。 RSpecの基本 改めて学ぶ RSpec RSpec 簡潔に記述する 「RSpecとは何か」と「基本的な書き方」が身に付く2記事。 describeやcontext、subjectといった「骨組み」をこちらで抑えておきましょう。 RS
まじめにrailsにおけるBDDをやろうと、簡単なアプリを使って、BDD開発してみようかと思います。 Rspec をより便利に/テストしやすくするツールは山ほどあるのですが(guard-spec とか fabrication とか spork とか)、一度にいろいろやろうとするとややこしいので最低限の書き方だけを押さえます。 WEB+DB PRESS vol.61 Rails3テスト最前線 を参考(というかほとんど習って)にしています。 非常に分かりやすい記事だったので、少し古いですが入手してみるとよいです。 造るアプリ メインはツーエンドツーテストを書くことなので、scaffold でジェネレートしたものをそのまま用います。 下準備 とりあえず rails をセットアップします。
*1 Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編) 元は Rails 2.0.2 と RSpec1.1.3 だったので、今現在最新の Rails 3.2.3 と RSpec 2.10.1 でやってみた (ruby 1.9.3p194) New Project $ rails new myblog : $ cd myblog $ ls Gemfile app/ doc/ script/ Gemfile.lock config/ lib/ test/ README.rdoc config.ru log/ tmp/ Rakefile db/ public/ vendor/ Gemfile add gem "rspec-rails", :group => [:development, :test] bund
自分がCapybaraで一番ハマったのは、画面の初期化や、Ajaxやアニメーションなどの遅延を待たずに、どんどんclickなどを行おうとして意図しない結果になってしまうこと。 ブラウザから自分で試してみてもうまく行くので、自動テストをうまく行かせるためだけのデバッグ作業となり、作業のための作業、これは無駄以外のなんでもない。腹立たしい。 だから、情報共有。 findで要素が準備OKになるまで待たせる 本家の でも書かれているが、Capybaraにはこういう非同期JavaScriptの問題への対処として、findや、have_content実行時にまだ要素が見つからない場合は、設定した時間(初期値2秒)待ってからリトライをしてくれる。 この機能を使って、clickする、have_xxx で検証するなどの前に、findでちゃんと存在するまでcapybaraに待たせる事が重要。 基本的に非表示要
DRY原則に従おうとするほど、テストコードがどんどん読みづらくなる。 The RSpec Bookに答えがあるかと思って読んでみたものの、「あるある」と一言述べているだけだった。辛い。 テストコードが読みづらくなる例を示すために、1つRubyのライブラリをつくった。 値とパターンを与えてValidationを行う機能を提供するライブラリ。 実装60行、テスト120行なので、詳しく見たければすぐ読めると思う。 最近不本意ながらキラキラネームの命名力が上がってきたと思う。 avalon - A validator implementation for Ruby https://github.com/r7kamura/avalon 冗長だが読みやすい例 letもsubjectもローカル変数も何も用いずに率直に書いたテストコード例がこちら。 冗長だが読みやすく、テストコードを見ればライブラリの使い
岡山Ruby会議01 LT での発表資料です。 Capybara を利用したテストに対してのぼくの取り組みをご紹介します。
第3回次期バージョン1.8に見るTestLinkの過去・現在・未来 TestLink日本語化部会 2008-10-17
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08) parrotstudio
はじめに ソフトウェアを作るときには同時にテストも作ります。 テストを動かすことで、ソフトウェアが設計の通り動作しているかを確認できます。もし設計の通りに動作しない場合はテストが失敗し、ソフトウェアに期待する動作と現在の間違った動作が明確になります。 テストをすっきりと書くことができると、テストを読みやすくなり、また、きれいなソースコードのままで新しくテストを追加することができます。 今回は、そのすっきりとテストを書くための方法について説明します。 テストを追加していくと発生する問題 例えば、1つのテストケースの中にいろいろな機能のテストがある場合を考えます。 ここで、ある機能の実装を修正したので、この機能に関するテストを追加しようとしました。 テスト名に「テストのコンテキスト」と「テスト対象」を含めてどのような内容のテストかを示します。 このとき、ある機能に対して様々な動作をテストするこ
人には挑戦が必要です。挑戦とは、自分の心地のよい場所から一歩でることであり、苦痛をともなうことです。しかし、それが学びにつながり、人を成長させます。挑戦がなければ、人は学びもなく、成長もしません。自作キーボードの素晴しさは、人に挑戦の場を与えてくれるところです。そういった意味で、自作キーボードキットのなかでも、 MiniAxe は特別な存在です。 まず、目につくところといえば、そのコンパクトさでしょう。格子配列 36 キーという仕様は、ふだん 40% キーボードをつかっている私でも戸惑うサイズです。今まで自分がなじんでいたキー配列から一歩を踏み出して、新たな試行錯誤をしなくてはいけません。 暫定的なキーマップ では、このようにしていますが、まだまだ磨いていく必要がありそうです。 また、はんだ付けの難易度が高いというのも特徴です。自作キーボードキットで定番の Pro Micro は採用されて
テストにはプロがいます。「お仕事」で開発する場合はQA(Quality Assurance/品質保証)部門という「テストのプロ」がテストします。 バグ修正におけるテスターの役割は極めて重要で、「プログラマの手元で任意に再現可能な状態に持ち込めれば、バグ修正は8割終わっている」と言っても本当に過言ではありません。詳細聞き出しに10時間、修正30分、修正確認テスト30分、なんてのも実務ではザラです。この場合、プログラマも11時間拘束される(=時給x11時間分のコストが掛かる)わけですから、バグ修正のコストは聞き出しに掛かるコストがほとんどを占めることになります。 (誤報告一発で万単位の金が簡単に吹っ飛ぶとも言える) まずそもそもの問題として「素人」がテストを行うと以下のような論外ケースが頻繁に起こります。上に行くほどクソです。 誤報告 実際に起こったことと、現象が違う、手順が違う、設定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く