問題タブ [rspec2]
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 - Rspecでトランザクションフィクスチャを無効にしても効果はありません
使用しているレガシーデータベースが原因で、MyISAMを使用しているMySQLでスタックしています。つまり、テーブルはトランザクションをサポートしていません。テストによって生成されたテーブルデータ(フィクスチャにfactory_girlを使用しています)はシナリオごとに戻されないため、これによりテストが失敗します。
Rspecがspec_helper.rbの構成設定を公開していることを発見しconfig.use_transactional_fixtures
ました。
これはデフォルトでtrueに設定されています。falseに設定すると、テストへの影響は見られません。レコードが重複しているため、まだ失敗します。
その設定は、DBに加えられた変更を自動的に展開することになっているのではないですか?それとも私はそれを手動で行うことになっていますか?
ruby-on-rails - Rspec をオフラインで実行する場合、オンラインの依存関係をどのように処理すればよいですか?
RSpec を実行して、Web に接続している場合と接続していない場合の両方でコードをテストしたいと考えています。
残念ながら、アプリケーションにはライブ接続に依存するいくつかのテストがあります - 電子メールの送信、Facebook の統合など。
オンライン/オフラインのテスト環境を作成するためのベスト プラクティスの方法はありますか、それとも悪い方法ですか? これについてウェブ上で見つけることができるものがどれだけ少ないかから判断すると、後者だと思います。
authlogic - ヘルパーメソッド/変数がrspecに存在するかどうかを確認するにはどうすればよいですか?
私はまだrspecを理解しようとしていますが、現在はauthlogicを使用してユーザーとセッションを処理しています。def current_userメソッドをapplciationコントローラーに追加したり、ヘルパーメソッドとして追加したりするなど、通常のauthlogicを実行しましたが、rspecコントローラーファイルでそれにアクセスするにはどうすればよいですか?
これが私のuser_sessions_controller_spec.rbです:
rspecを実行すると、次のように表示されます。
だから私はそれがrspecコンテキストにあると推測しています...しかし、どうすればそれがuser-sessions_controllerにあるべきかを知ることができますか?そして、私もそれを正しくテストしていますか?
ruby-on-rails - Rails 3: Rspec 2.3.0 を 2.4.0 に更新するにはどうすればよいですか?
Gemfile に入れてみましたが、次のようになりました。
ruby - Rails:Rspec2の使用例は良いですか?(また:きゅうり、漬物、カピバラ)
テストライブラリとしてRspec2を使用するかなり最近のオープンソースアプリケーションを探しています。経験豊富な開発者がライブラリを適切に利用してフルスタックをテストする方法を確認したいと思います。自分の知識について常に疑問があるためです(テストユニットからのものであり、最新のRspecリリースのドキュメントがかなり少ないためです。常に改善されていますが)。
プロジェクトでキュウリ、ピクルス、カピバラをRspec 2と一緒に使用する場合は、私が喜びのためにジャンプすることになります。
ポインタはありますか?
乾杯!
ruby-on-rails - コントローラエラーにもかかわらず、私のテストはまだ合格ですが、編集URLにアクセスするとエラーが正しく表示されます。なんでそうなの?
「create」メソッド内に「edit」メソッドを誤って定義したRailsコントローラーがあります。
エラーのある私のコントローラー:
テストの例。
したがって、テストを実行して(rspecを使用)、response.bodyを出力すると、ユーザーedit.html.erbテンプレートが正しくレンダリングされます。すべてのインスタンス変数が表示されます。したがって、すべてのテストに合格します。
'edit' URLにアクセスすると、エラーが正しく表示されます。テンプレートは@userインスタンス変数を使用しており、正しく設定されていません。もちろん、コントローラーを修正するとエラーが修正されます。
テストに合格する理由と、テストですべてのインスタンス変数値が表示される理由がわかりません。
私の本能は、これがスコープの問題であることを示唆していますか?@userがインスタンス変数であり、テストではテストのスコープ内に設定されていますが、私のコントローラーでは、内部の「edit」メソッドのスコープ内にありますか?しかし、テストはどのようにして「編集」メソッドを見つけるのでしょうか。その内部の「編集」メソッドはどのスコープに存在しますか?
html - CSS/HTML/jQuery をテストするには?
RSpec で行っているように、CSS/HTML および jQuery コードをテストするにはどうすればよいですか?
ruby-on-rails - Rails3でRspec2とDeviseを使用してヘルパーをテストする
私のヘルパーコードは次のようになります(そしてうまく機能します):
残念ながら、テストを実行すると、次のエラーが発生します。
明らかに、Devise::Controllers::Helpers
rspecがテストを実行しているとき、はヘルパーに含まれていません。この作業に役立つ可能性のある提案はありますか?
編集:もう少し情報を提供するために、私のspec_helperにはこれがあります:
(残念ながら、動作させることができませんでした:type => [:controller, :view, :helper]
)
とにかく、これらの行はsign_in(scope, object)
(および他の)テストヘルパーをテストに追加すると思います。これらは、コントローラー/ビューコードで実際に活用するヘルパーを追加しません。
ruby-on-rails - すべてのユーザー ロールに対して RSpec を使用してテストの説明を繰り返す
RSpec でいくつかのコントローラー テストを作成していると、考えられるすべてのユーザー ロールに対していくつかのテスト ケースを繰り返していることに気付きます。
例えば
これは簡単な例ですが、繰り返されるテストはたくさんあります...もちろん、コンテキストごとに固有のテストもいくつかありますが、ここでは問題ではありません。
テストを 1 回だけ記述して、別のコンテキストで実行する方法はありますか?
transactions - RSpec を使用した並列トランザクションのテスト
RSpec を使用して並列トランザクションをテストする方法はありますか? 銀行口座の残高が減少または増加する前に、トランザクション内でロックする必要があると言っています。しかし、現在、RSpec オプションをオフにしているにもかかわらtransactional_fixtures
ず、2 つの別々のスレッドで 2 つの並列トランザクションを起動することはできません。なぜか両方ともぶら下がっています。指定されたアカウントがモデルである場合、この仕様はハングします:
トランザクションの能力を発揮しながらハングしないようにする方法はありますか?