問題タブ [rspec3]
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 - ruby 2.0、rspec 3.0でバックトレースから一致する行が見つからない
Rails 4.0 の Windows で rspec 3.0、ruby 2.0.0p195 を使用して機能仕様を実行すると、このエラーが発生しました。Google を読んでみると、修正は rpsec 2.0 の特定のバージョンを使用することでしたが、そのバージョン以降のものは何もないことがわかりました。私はその問題をずっと過ぎていただろうと思っていました。他の人と同じように、機能の手順を手動で実行すると、すべてが期待どおりに機能することがわかりました。仕様のどの行が失敗したかを示す指標はありません。この問題を解決するには、Google のどこを見ればよいですか? それとも私はどこかで間抜けをしましたか?
gemfile.lock
ここで失敗: _score_form.html.erb
note_feature_spec.rb
score_controller.rb の関連部分
エラーメッセージの先頭:
ruby-on-rails - Capybara::ElementNotFound - Rspec
これは私を夢中にさせています。助けてください。ばかげたツリーハウス Todo アプリの場合でも、簡単な修正だと思います。(したがって、昼休みに経験豊富なプログラマーがいる場合は、私を助けてください。必要な場合、私はこれに頼りません)。
認証システムを作成しようとしているのですが、css"#todo_list_1" が見つからないというエラーが発生しています。
これは、BIN/RAKE を実行した後のすべてです。
ここに私の失敗のリストがあります:
失敗:
これが私の ./spec/support/todo_list_helpers.rb:4 のリストです。
これが私の ./spec/views/todo_lists/index.html.erb_spec のリストです
「spec_helper」が必要
これが私の ./spec/views/todo_lists/index.html.erb_spec のリストです
「spec_helper」が必要
***これが私のアプリ/views/todo_lists/index.html.erbです
ruby-on-rails - RSpec がソース コードをキャッシュしていますが、不要です
実行する場合、RoR 4.1 で RSpec を使用しています。
また
その後、rspec は最初の実行であればファイルを正しくロードしますが、2 回目の実行ではキャッシュされたファイルをロードします。生成されたバックトレースが、コメントと交換した古いポイントを参照していることを確認できます。コメントを参考に!
この機能を無効にするにはどうすればよいですか。デフォルト設定のIMHOではありません。
ruby-on-rails - RSpec でテストした場合、Rails 4 ActiveModel は update_columns を実行しません
人間とブラウザーを使用した通常のテストでは、すべてが期待どおりに機能します。ただし、rspec を使用すると、次のことがわかります。
しかし、実際に私のデータベース レコードが更新されていないとは信じられません。以前は .save を使用していましたが、実際には成功せず、SAVEPOINT が作成されました。
問題のある私のコードは、基本的に API エンドポイントです。
クライアントはいつでもこれに到達でき、ワーカーにまたがります。新しいレコードが既にデータベースにあるが、is_processed が false の場合、ワーカーは終了します。したがって、これを複数回呼び出すことは、作業が完了したかどうかのステータスを確認する手段としても問題ありません。
ワーカーは、クライアントがキャプチャを入力するのを待ちます。したがって、基本的に次のことを行うWaitableLoginのようなクラスがあります。
そのため、WaitableLogin は client_stuff が更新されているかどうかを確認します。そうであれば、クライアントがキャプチャを送信したことがわかります (エンドポイントを介して、ワーカーはキャプチャがパラメーターであるかどうかを確認し、キャプチャ フィールドがある場合はデータベースを更新します)。
その後、制御はワーカーに戻されました。ファイル全体のコードの多くの部分でキャッシュを使用する多くのコードがあることがわかります。キャッシュは単なる変数名であり、Rails などでのセマンティックな意味とは何の関係もありません。
ブラウザで正常に実行すると、問題はありません。実際、.save を使用しても SAVEPOINT はありません。そのSAVEPOINTでどこかにバグが発生しているのではないかと思ったので、.update_columnsを使ってみることにしました。しかし、やはり成功しませんでした。
これはテストがどのように見えるかです before(:each) do System::Flights::Cached.delete_all end
だから私は何が欠けているのか、疲れました。エラーは発生しませんでした。update_columns の後に .inspect を確認すると、すべて更新されているようです。しかし、データベースを見ると、何も更新されていません。
編集:楽観的なロックができるようにlock_versionを配置しました(デフォルトでは、そう思います)。そして、予想通り、それは 2 に設定されていました。
編集 2: コードがキャプチャを要求しているときに、Rails コンソールから編集をコマンドすると、IT はデータを更新します。SO、api エンドポイントを実行してキャプチャを送信する RSpec 仕様が行を更新しないのはなぜですか。すべての実際の非仕様コードは、細かく実行されます。
ruby - rspec の構成可能なマッチャーの 'got' メッセージを変更
次のように、have_backtrace/error_with_backtrace という構成可能なマッチャーを作成しました。
次に、次のように使用できます。
これはうまくいきますが、エラーメッセージは私が望むものではありません
「得」の部分も言ってほしい(error with backtrace ...)
これを達成する方法はありますか?
ruby-on-rails - Rspec 3機能仕様でRailsヘルパー/モジュールメソッドをスタブする方法は?
古い構文を使用してこれが行われるのを見てきましたshould_receive
が、Rspec 3 で Rails モジュール メソッドをスタブする方法がわかりません。
私はこれらを試しました:
しかし、実際にメソッドをスタブするものはありません。
testing - RSpecを使用してページに特定のHTML要素がいくつあるかを確認するには?
Rails 4 機能仕様では、RSpec 3 と Capybara を使用して、ページに特定のタグが一定数存在するかどうかをどのようにアサートしますか?
私は試した:
しかし、次のように言ってもうまくいきません。
また、機能仕様で、ビューで使用されるタグやクラスの種類などの特定のものをテストすることは良い考え/悪い習慣ですか?