問題タブ [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.
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 は次のとおりです。
sqlite - FactoryGirl を使用して RSpec でテスト オブジェクトを作成すると、ネストされた属性で失敗する
私は多くのPerformedExercisesを持つワークアウトモデルを持っています。これには多くのPeformedSetがあります。テストでオブジェクトを構築することができず、それが SQLite3 なのか、それとも何か他のものなのかわかりません (テスト環境の外では問題なく動作します)。
私は次の工場を持っています:
私の RSpec テストは次のようになります (テスト内の他の問題を除外するために、非常にシンプルにしました):
テストを実行すると、次のエラー メッセージが表示されます。
どんな助けでも大歓迎です!
ruby-on-rails - rSpec - モデル メソッド内で select をテストする方法
ユーザーの名と数量のみを返すメソッドを持つモデルがあります。
rSpec で戻り値をテストするにはどうすればよいですか?
このメソッドは User オブジェクトの配列を返しますが、属性は 2 つしかありません。これは私が立ち往生しているところです。
ruby-on-rails - RSpec-rails。レンダリングされたメソッド
rendered
RSpec-railsのビューの例のメソッドは、レンダリングされたビューテンプレートを取得するために使用されます。
例えば:
私はこの方法のルーツを見つけるのに苦労しています。それはどこから来たのですか?
ありがとう。
Debian GNU / Linux 6.0.1;
Ruby 1.9.2;
Ruby on Rails 3.1.0.rc4;
RSpec-rails2.6.1。
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 リクエストの認証チェックはここで失敗します
これはバグですか?私が理解できないのは、ある種の意図された動作ですか?明らかなことを見過ごしているだけですか?
ruby-on-rails-3 - このスペック/コントローラーのテストに合格しないのはなぜですか?以前にやった...(Rails、RSpec)
以下は私のspec/controllers / superadmin /users_controller_spec.rbにあります:
以下は私のapp/controllers / superadmin /users_controller.rbにあります:
私が正しく思い出せば、このテストは以前は合格でした。テストおよび開発環境のデータベースとしてPostgreSQLを設定して以来、このテストは失敗しています...理由はわかりません。
エラーメッセージ:
支援に感謝します!
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)」の前に作成されますか?
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
と、次のエラーが表示されます。
期待と結果の間に違いが見られません...これを機能させるために正しい方向に向けてもらえますか?
仕様:
工場:
景色:
コントローラー:
そしてモデル:
足りないものがあれば、ここに載せますので、お気軽にお尋ねください。
ruby-on-rails - レール2.3.5にrspecジェネレーターをロードできません
Rspec
テスト目的でレール2.3.5に取り組んでいます。rspec gemをインストールしましたが、ジェネレーターのリストにrspecをリストできません。https://github.com/rspec/rspec-railsを参照しています。
ありがとう。
ruby-on-rails-3 - RSpec のテスト/例を書くためのベスト プラクティスは何ですか? 肯定的/肯定的、否定的、またはその両方をテストする例を書きますか?
BDD と RSpec にはかなり慣れていないので、RSpec のテスト/例を書くときに人々が通常何をするのか、特に同じことの肯定的テストと否定的テストに関連しているため、非常に興味があります。
たとえば、ユーザー名の検証と、有効なユーザー名には英数字のみが含まれるというルールを考えてみましょう。
肯定的/肯定的なテストは次のようになります。
ネガティブテストは次のようになりますが:
1 つのテストを作成しますが、もう 1 つのテストは作成しませんか? 両方書きますか?それらを同じテストにまとめますか?人々が上記のいずれかを実行する例を見たので、ベストプラクティスがあるかどうか疑問に思っていました。もしそうなら、それは何ですか?
ポジティブ テストとネガティブ テストの両方を記述する例:
私はこの方法でそれを行っている人々の例を見てきましたが、正直なところ、私はこのアプローチのファンではありません. メソッドの書き方と同じように、私は 1 つの目的のために物事をクリーンで明確に保つ側で過ちを犯しがちです。それで、この種の何かを述べるベストプラクティスはありますか? その例では、すべての角度ではなく、1 つの角度から単一の機能/動作をテストする必要があります。