0

私は Gemfile を持っています:

        ソース「https://rubygems.org」

    宝石「レール」、「3.2.11」
    gem「オムニオース」
    gem 'omniauth-facebook'

    宝石「薄い」
    # 代わりにエッジ Rails をバンドルします。
    # gem 'rails', :git => 'git://github.com/rails/rails.git'

    宝石「pg」

    gem「デバイス」
    宝石「rmagick」


    # rails_admin_jcrop は、使用するプラグインをチェックしてモジュールを自動ロードするため、
    # rails_admin_jcrop の前に明示的に要求することをお勧めします
    # 例えば、搬送波を使用する場合
    gem 'carrierwave', :require => 'carrierwave'

    # アセットにのみ使用され、必須ではない宝石
    # 本番環境ではデフォルトで。
    group :assets do
      gem 'sass-rails', '~> 3.2.3'
      gem 'coffee-rails', '~> 3.2.1'

      gem「コンパスレール」
      gem 'zurb-foundation'

      # サポートされているランタイムの詳細については、https://github.com/sstephenson/execjs#readme を参照してください
      # gem 'therubyracer', :platforms => :ruby

      宝石「醜い人」、「> = 1.0.3」
    終わり

    グループ:テストする
      gem 'webrat', '>=0.7.2.pre', :git => 'http://github.com/kalv/webrat.git'
      宝石「database_cleaner」
    終わり

    宝石「jquery-rails」

    # ActiveModel を使用するには has_secure_password
    # gem 'bcrypt-ruby', '~> 3.0.0'

    # JSON に Jbuilder テンプレートを使用するには
    # gem 'jbuilder'

    # Unicorn をアプリ サーバーとして使用する
    # ジェム「ユニコーン」

    # カピストラーノでデプロイ
    # gem 'カピストラーノ'

    # デバッガを使用するには
    # gem 'デバッガ'
    宝石「therubyracer」

そして test_helper.rb:

 

        ENV["RAILS_ENV"] = "テスト"
    require File.expand_path('../../config/environment', __FILE__)
    「rails/test_help」が必要
    # 「webrat」が必要


    Webrat.configure do |config|
      config.mode = :レール
    終わり


    クラス ActiveSupport::TestCase
      # test/fixtures/*.(yml|csv) 内のすべてのフィクスチャをすべてのテストに対してアルファベット順にセットアップします。
      #
      # 注: 現在、統合テストでフィクスチャを明示的に宣言する必要があります
      # -- まだこの設定を継承していません
      備品:すべて
    # Webrat を含める
      インクルード Webrat::メソッド
      include Webrat::Matchers
      # すべてのテストで使用されるヘルパー メソッドをここに追加します...
    終わり

    クラス ActionController::TestCase
      Devise::TestHelpers を含める
    終わり

私のテストは次のとおりです。

 

        「test_helper」が必要

    クラス UserSignupTest user.first_name
        fill_in "user_last_name", :with => user.last_name
        fill_in "user_username", :with => user.username
        fill_in "user_email", :with => user.email
        fill_in "user_password", :with => user.password
        fill_in "user_password_confirmation", :with => user.password_confirmation
        choose("user_sex_male")
        click("コミット")
      終わり

    終わり

しかし、「クリック」メソッドを使用しようとすると、次のエラーが発生します。

  

         1) エラー:
    test_sign_up_flow(UserSignupTest):
    NoMethodError: 未定義のメソッド「クリック」 #

私が間違っていることを知っていますか?バンドルをインストールしただけで、うまくいくはずだと思いました。「クリック」メソッドの前にあるメソッドは、何とか機能しているようです。

4

1 に答える 1

1

コメントがおしゃべりになっているという理由だけで、これを回答として投稿しています。

Webrat リソースとリファレンス.

あなたの場合、「コミット」はボタンなので、使用する必要があります

click_button("commit")

それ以外の

click("commit")

リンクの場合は、使用できます

click_link("commit")
于 2013-03-09T12:00:06.323 に答える