問題タブ [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 に答える
286 参照

ruby-on-rails - RSPecのエラーメッセージをより洞察に満ちたものにする方法はありますか?

RSpecはそれを教えてくれるだけなので、デバッグしようとすると途方に暮れることがよくあります。

しかし、何が起こったのかを教えてくれないので、デバッグが難しいので、

これはRSpecに組み込まれているものであり、変更することはできませんか、それともある種の構成のものですか。

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

ruby-on-rails - RSpec Rails ログイン フィルター

最近、Rails(3.0.8) アプリで rspec-rails(2.6.1) を使い始めました。私は Test::Unit に慣れていますが、私のテスト メソッドに対してフィルターを機能させることができないようです。私は物事をできるだけ DRY に保つのが好きなので、テスト メソッドが呼び出される前に Authlogic ユーザーとしてログインする任意のテスト メソッドで呼び出すことができるフィルターを設定したいと思います。spec_helper.rb でRSpec フィルターを使用して、これを達成しようとしました。

次に、対応するテスト メソッド (この場合は spec/controllers/admin_controller_spec.rb) で使用します。

ただし、rspec specを実行すると、次のエラーが発生します。

ブリーチ。テストごとに 1 つの HTTP 要求のみを送信できますか? また、authenticate_admin メソッド (config.before ブロック内) をスタブ化しようとしましたが、運がありませんでした。

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

ruby-on-rails - Zentest - 赤のときに自動テストを停止する方法

テスト スイートを実行して失敗したテストがある場合、autotest がテストを停止し、変更を加えるのを待ってから再度テストするように、autotest を構成しようとしています。私の現在の構成では、失敗したテストに遭遇した場合、自動テストは無期限にテストを続け、対処するのが少し面倒です (失敗したテストを取得するたびに、ターミナルにタブで移動して自動テストサーバーを停止する必要があります)。

RSpec、Zentest、Spork を使用して Rails アプリに取り組んでいます。

関連する Gem バージョン:

私の .autotest ファイル:

注: 私の .autotest ファイルのほとんどは、Linux で動作するポップアップを取得して、テストが成功したか失敗したかを表示するためのものでした。

私はしばらくの間、この問題に対する答えを探していましたが、うまくいきませんでした。Autotest の優れたドキュメントを手に入れるのは非常に困難でした。私もかなり長い間 ZentestのRDocを凝視してきましたが、何かが欠けているに違いありません。

ヘルプ、例へのリンクなどは大歓迎です。

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

ruby-on-rails - Ruby on Rails チュートリアル 第 10 章演習 RSpec の失敗

私は Rails チュートリアルの第 10 章の演習に取り組んでおり、管理者ユーザーが自分自身を削除できないようにする演習で問題が発生しました。私の最初のアイデアは、単純に現在のユーザーの ID をチェックし、それを params[:id] と比較して、それらが等しくないことを確認することでした。Users コントローラーでの破棄アクションは次のようになりました。

これは、アプリで手動でテストすると完全に機能しますが、3 つの RSpec テストが同じ「undefined method 'to_i'」エラーで失敗します (以下を参照)。

params[:id] を使用してユーザーを見つけ、以下のように current_user と比較すると、アプリと RSpec の両方で機能します。

「to_i」メソッドでRSpecに問題があるのはなぜですか? データベースを「検索」するのではなく、現在のユーザーIDを削除対象のユーザーのIDと単純に比較するのが最善だと思ったので、誰かが私がそのアプローチに傾倒していたのを不思議に思っているなら(params [:id]を介して)ユーザー。

参考までに、これは私の RSpec テストです。

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

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

ruby-on-rails - RSpec との has_many 関連付けのテスト

RSpec、つまりスコープのように動作するクラス メソッド 'find_days_with_no_hours' を使用して Hour モデルをテストしようとしています。ビジネス has_many STI を介して関連付けられた時間数。find_days_with_no_hours は Business オブジェクトを介して呼び出す必要があり、RSpec テストでこれを設定する方法がわかりません。私は次のようなものをテストできるようにしたい:

ビジネスオブジェクトを作成し(Business.createなど)、 @business.hours << mock_model(BusinessHour, ..., ..., ...) を設定するなど、さまざまなアプローチを試しましたが、そうではありません。動作しません。

これは通常どのように行われますか?

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

ruby-on-rails - RSpec コントローラ テスト: @organization.destroy が呼び出されていることを確認するにはどうすればよいですか?

私はそれが次のようになるかもしれないと思った:

..しかし、「凍結されたオブジェクトを変更できません」というエラーが表示されます。

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

ruby-on-rails - RSpecを使用してモデルをテストする際に属性を更新する方法

RSpecの1つの仕様にとらわれています。モデルの属性を更新してnilにするにはどうすればよいですか?更新コントローラーの仕様の下で検証する方が良いですか?

以下はサンプルコードです。

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

ruby-on-rails - テストで関連付けを指定しなくて済むようにする方法はありますか?

次のクラスがあるとします

一括割り当てによってアクセス可能/spec/models/listing_spec.rbにせずに、 のテストでリスティングを保存する前に所有者を関連付け続ける必要がないようにする方法はありますか?owner_id

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

ruby-on-rails - rspec-rails でステップを書きますか?

テストを始めたばかりで、ログインなどの多くの機能を再利用できるように、RSpec 仕様の手順をどのように記述すればよいか考えています。

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

ruby-on-rails - rspecテストでApplicationControllerのrescue_fromを無視する方法は?

デフォルトでは、CucumberはApplicationControllerのrescue_fromを無視し、例外を直接報告します。これは、Cucumberenv.rbファイルの次の行によって実現されます。

rspecにrescue_fromも無視させる方法はありますか?(具体的には、rspecに無視してもらいたいと思っていrescue_from CanCan::AccessDeniedます。)