問題タブ [rspec-rails]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1113 参照

ruby-on-rails - railstutorial.org - rspec は失敗しましたが、ブラウザーではすべて問題ありません

Rails チュートリアルに従おうとしていますが、失敗した rspec がありますが、ブラウザーではアプリが必要に応じて機能します。それは、(ブラウザーで) サインインして、「http://localhost:3000/users/1/edit」にアクセスすると、このページが開きます。チュートリアルの以前のすべての rspec が渡されます。

Rails '3.1.0.rc4' を使用しており、Windows で作業しています。

失敗する仕様 (users_controller_spec.rb から):

spec_helper.rb からの test_sign_in のコード:

factory.rbのコード

コンソールからのテキスト:

UPD:「get :edit, :id => @user」の後、ユーザーはサインインしていません。しかし、ブラウザーで書いたように、すべてが必要に応じて機能します。そんなことがあるものか?

ApplicationControlelr に含まれている SessionHelper は次のとおりです。

0 投票する
1 に答える
1147 参照

sqlite - FactoryGirl を使用して RSpec でテスト オブジェクトを作成すると、ネストされた属性で失敗する

私は多くのPerformedExercisesを持つワークアウトモデルを持っています。これには多くのPeformedSetがあります。テストでオブジェクトを構築することができず、それが SQLite3 なのか、それとも何か他のものなのかわかりません (テスト環境の外では問題なく動作します)。

私は次の工場を持っています:

私の RSpec テストは次のようになります (テスト内の他の問題を除外するために、非常にシンプルにしました):

テストを実行すると、次のエラー メッセージが表示されます。

どんな助けでも大歓迎です!

0 投票する
2 に答える
1178 参照

ruby-on-rails - rSpec - モデル メソッド内で select をテストする方法

ユーザーの名と数量のみを返すメソッドを持つモデルがあります。

rSpec で戻り値をテストするにはどうすればよいですか?

このメソッドは User オブジェクトの配列を返しますが、属性は 2 つしかありません。これは私が立ち往生しているところです。

0 投票する
1 に答える
730 参照

ruby-on-rails - RSpec-rails。レンダリングされたメソッド

renderedRSpec-railsのビューの例のメソッドは、レンダリングされたビューテンプレートを取得するために使用されます。

例えば:

私はこの方法のルーツを見つけるのに苦労しています。それはどこから来たのですか?

ありがとう。

Debian GNU / Linux 6.0.1;

Ruby 1.9.2;

Ruby on Rails 3.1.0.rc4;

RSpec-rails2.6.1。

0 投票する
3 に答える
5043 参照

ruby-on-rails - Rails 3.1 の Rspec で Cookie が保持されない

これは、次の環境でのコントローラー仕様の Cookie コレクションの問題です。

  • レール 3.1.0.rc4
  • rspec 2.6.0
  • rspec-rails 2.6.1

Factory ユーザーを作成し、Cookie を設定するサインイン メソッドを呼び出し、サインインしたユーザーがページにアクセスできるかどうかをテストする単純なコントローラー仕様があります。問題は、認証 Cookie が設定されてからコントローラーで「表示」アクションが呼び出されるまでの間、すべての Cookie が消えているように見えることです。

私のコードは、Rails dev サーバーのブラウザーで実行すると正常に動作します。仕様の実行中のさらに奇妙な動作は、cookie ハッシュを介して設定されたものはすべて消えますが、セッション ハッシュを介して設定されたものはすべて存続することです。rspec を使用するときに Cookie がどのように機能するかについて、何か不足しているだけですか?

仕様コード

サインインコード

Cookie[:auth_token] が nil であるため、get :show リクエストの認証チェックはここで失敗します

これはバグですか?私が理解できないのは、ある種の意図された動作ですか?明らかなことを見過ごしているだけですか?

0 投票する
1 に答える
488 参照

ruby-on-rails-3 - このスペック/コントローラーのテストに合格しないのはなぜですか?以前にやった...(Rails、RSpec)

以下は私のspec/controllers / superadmin /users_controller_spec.rbにあります:

以下は私のapp/controllers / superadmin /users_controller.rbにあります:

私が正しく思い出せば、このテストは以前は合格でした。テストおよび開発環境のデータベースとしてPostgreSQLを設定して以来、このテストは失敗しています...理由はわかりません。

エラーメッセージ:

支援に感謝します!

0 投票する
1 に答える
1236 参照

ruby-on-rails - @route は「before(:all)」の後と「before(:each)」の前に作成されますか?

Rails プロジェクトで、コントローラーの仕様を次のように書くと、次のようになります。

次のようなエラーが発生しました。

失敗/エラー: post :create, :user=>@user_attributes

ランタイムエラー:

@routes は nil です: テストの setup メソッドで必ず設定してください。

# ./spec/controllers/sessions_controller_spec.rb:22

# ./magazine_slave.rb:22:in `run' # magazine_slave_provider.rb:17

before(:all) を before(:each) に変更すると、テストはパスします。

@route は「before(:all)」の後と「before(:each)」の前に作成されますか?

0 投票する
1 に答える
803 参照

rspec2 - カピバラは実際にそこにあるテキストを見つけられません!

私の実際のプロジェクトでは、テストに次の宝石を使用しています。

  • リビジョン 6641fddcfc337a3ddaa84ac59272e884090332c3 の git://github.com/jnicklas/capybara.git のカピバラ
  • rails (3.1.0.rc5) (およびその要件)
  • factory_girl (2.0.1)
  • factory_girl_rails (1.1.0)
  • rspec (2.6.0)
  • rspec-コア (2.6.4)
  • rspec レール (2.6.1)

実行するrake specと、次のエラーが表示されます。

期待と結果の間に違いが見られません...これを機能させるために正しい方向に向けてもらえますか?

仕様:

工場:

景色:

コントローラー:

そしてモデル:

足りないものがあれば、ここに載せますので、お気軽にお尋ねください。

0 投票する
1 に答える
470 参照

ruby-on-rails - レール2.3.5にrspecジェネレーターをロードできません

Rspecテスト目的でレール2.3.5に取り組んでいます。rspec gemをインストールしましたが、ジェネレーターのリストにrspecをリストできません。https://github.com/rspec/rspec-railsを参照しています。

ありがとう。

0 投票する
3 に答える
1168 参照

ruby-on-rails-3 - RSpec のテスト/例を書くためのベスト プラクティスは何ですか? 肯定的/肯定的、否定的、またはその両方をテストする例を書きますか?

BDD と RSpec にはかなり慣れていないので、RSpec のテスト/例を書くときに人々が通常何をするのか、特に同じことの肯定的テストと否定的テストに関連しているため、非常に興味があります。

たとえば、ユーザー名の検証と、有効なユーザー名には英数字のみが含まれるというルールを考えてみましょう。

肯定的/肯定的なテストは次のようになります。

ネガティブテストは次のようになりますが:

1 つのテストを作成しますが、もう 1 つのテストは作成しませんか? 両方書きますか?それらを同じテストにまとめますか?人々が上記のいずれかを実行する例を見たので、ベストプラクティスがあるかどうか疑問に思っていました。もしそうなら、それは何ですか?

ポジティブ テストとネガティブ テストの両方を記述する例:

私はこの方法でそれを行っている人々の例を見てきましたが、正直なところ、私はこのアプローチのファンではありません. メソッドの書き方と同じように、私は 1 つの目的のために物事をクリーンで明確に保つ側で過ちを犯しがちです。それで、この種の何かを述べるベストプラクティスはありますか? その例では、すべての角度ではなく、1 つの角度から単一の機能/動作をテストする必要があります。