タグ

.テストとCapybaraに関するnitouwaのブックマーク (5)

  • letメソッドとFactory Girl

    前回のモデルのテストでは、姓、名、姓(カナ)、名(カナ)という4つの属性に対して、「空であってはならない」という仕様をRSpecで記述し、テストしました。 しかし、これほど簡単な仕様にしてはテストコードが複雑でしたね。 今回は、このテストコードの簡素化がテーマです。 妥当なオブジェクトのテストを追加 前回書いたテストコードの最終形は次の通りです: require 'spec_helper' describe Customer do %w{family_name given_name family_name_kana given_name_kana}.each do |column_name| specify "#{column_name} は空であってはならない" do customer = Customer.new( family_name: '山田', given_name: '太郎'

    letメソッドとFactory Girl
  • Rspecのフィーチャーテストが失敗したりしなかったり

    ローカルの環境で単体でのテストの場合はパスするのですが、 一括でのテストの場合に、たまにエラーになるケースがあります。 環境は下記のような感じです。 ruby 2.1.3 rails 4.1.8 rspec 3.1.0 rspec-core-3.1.7 capybara-2.4.4 poltergeist-1.5.1 phantomjs 1.9.8 config.order = 'random'にしています。 randomでない場合に一括実行すると必ずエラーになるのでrandomにしています。 テストコードは、具体的には以下。その他にも同じようにランダムにエラーになる箇所があります。 scenario '顧客を新規追加する', js: true do visit new_customer_path tab = first('#new_customer') # Ambiguous match

    Rspecのフィーチャーテストが失敗したりしなかったり
  • CapybaraのJSテストがrandom failする - Qiita

    Rspec/Capybara で poltergeist や capybara-webkit を使ってJavascriptを含めたテストを行っている場合にランダムにテストが失敗することがある。(Random fail) ###主な原因の一つは テストの実行中にAjaxを発生させてAjaxが完了する前にテストが終了し次のテストが同じDBを参照しようとした時に起こる。 この問題の一つの解決策は Ajaxが終了していることをテストの最後に確認すること。 THOUGHTBOT, INC. の記事に一つの解決策を紹介している。 ソースコードはこちら # spec/support/wait_for_ajax.rb module WaitForAjax def wait_for_ajax Timeout.timeout(Capybara.default_wait_time) do loop until

    CapybaraのJSテストがrandom failする - Qiita
  • 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他

    使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita
  • Capybaraでクリックできない場合の対処法 - tail -f /dev/null

    1年以上経過しており情報が古い可能性があります 環境 MacOSX 10.11 RSpec 3.3.2 Capybara 2.5.0 事前に見るべきリファレンス capybara-readme-ja 事象 テストは通っているが、どうもボタンを押せていない。ということが少なからずある。 例えばFacebookのログインページのボタンである。 % rspec xxtest.rb Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} Randomized with seed 2062 アカウント登録フロー Facebookでのログイン Top 1 slowest examples (30.18 seconds, 100.0% of total time): アカウント

    Capybaraでクリックできない場合の対処法 - tail -f /dev/null
  • 1