問題タブ [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-on-rails - カピバラ JS テストは別のスレッドで実行されていますか?
js: true を配置すると、Capybara テストが機能するように見えません。テストでDBをどのように処理しているかに関係があると思います。ここでの助けは素晴らしいでしょう。これが私のエラーです:
私の rails_helper.rb
ruby-on-rails - opal js の更新後にカピバラの仕様が失敗する?
以前は、opal.js、opal-parser.js、opal-jquery.js (バージョン 0.3x) をロードしていました。js ファイルの代わりに gem opal と opal-rails(バージョン 0.6.2) を追加しました。
以前は、テスト スーツ全体 (カピバラ + rspec) が合格していましたが、更新後、カピバラの仕様が失敗し始めました。有線で動作する場合があります (つまり、firefox では渡されますが、chrome では失敗します)。
エラーの例の1つは
unknown error: Runtime.evaluate threw exception: RangeError: Maximum call stack size exceeded
opal と rspec との互換性の問題があると言われています。
誰かがこの問題を解決するのを手伝ってくれたら、私は感謝します。
rspec - rspec3:ページ分割された配列をモックする方法は?
私は rspec3 を使用しており、新しい二重メソッド検証機能を理解しようとしています。次のように、ページ分割された配列の double を作成したいと思います。
ただし、これにより次のエラーが発生します。
これは、rspec が object_double を指定すると検証用の double を作成するためです。のようなものに応答する偽の配列 double を作成したくありません:[]
。mocks.verify_partial_doubles = false
おそらくobject_doubleが検証を目的としているため、グローバルに設定しても役に立ちません(また、この問題のやり過ぎのようです)。
配列を2倍にする前に配列にページ番号を付けることができることは知っていますが、これを行う必要があるとは感じません。足りないものはありますか?メソッドごとに検証を無効にする機能を提供する rspec を要求する必要がありますか、または非検証オブジェクト double を作成する機能を提供する必要がありますか、またはこのテストを別の方法で作成する必要がありますか?
その間、私は次のように書くことができます:
...しかし、もはや単純な rspec モックのようには見えません。
ruby-on-rails-4 - ファブリケーターが読み込まれない
スペックでファブリケーターを使用しようとすると、空の配列が表示されます。私の推測では、ファブリケーター ファイルが読み込まれていません。RSpec の初期化後にファブリケーター ファイルをロードすると、aFabrication::DuplicateFabricatorError
が発生します。これが私のセットアップです:
- レール4.1.4
- rspec コア 3.1.5
- rspec-rails 3.1.0
- 製作 2.11.3
.
動作するはずのコードは次のとおりです。
ファブリケーターに空の配列が返された後、specs: を実行するとこのエラーが発生しますundefined method 'email' for []:Array
。合格スペックを期待しています。
ruby-on-rails - Rspec true != true はいつですか?
Hartl の RoR チュートリアルを読んでいます。rspec テストには、パスワードが一致するかどうかを確認するブロックがあります。このブロックには次の行があります。
これは失敗します。しかし、次の行を入力すると、コードが機能することがわかります。
ブロックでは「true」を出力します。本当に私を驚かせたのは、次の行を入れたことです:
上記の行の代わりに...そしてテストはまだ失敗します。どうしたの?
ruby-on-rails-3 - RSpec 3 のヘルパー クラスでスタブを使用すると NoMethodError が発生しますが、RSpec 2 では発生しませんか?
ディレクトリの下に多数のヘルパー クラスが保存されており、spec/support
それらを多数のテストで再利用しています。例えば、foo_helper.rb
Foo
は多くのテストで使用されているため、require ../spec/support/foo_helper.rb
使用できるようにしたい各仕様でのみ使用しますFooHelper.stub_thing
。これはすべてRSpec 2.xでうまくいきました
RSpec 3.1 にアップグレードしたら、次の減価償却の警告が表示されます。
だから、rspec-actvemodel-mocks
私のGemfileに追加した:
ドキュメントに従って、コードを次のように変更しました。
これにより、次のエラーでテストが失敗します。
どのallow_any_instance_of
ように定義することはできません, いつany_instance
とstub
は?!
ruby-on-rails - ActiveRecord コールバックの存在をテストする
モデル内のコールバック、特にレコードの作成によってトリガーされるコールバックの存在をどのようにテストできますafter_create
かafter_commit on: :create
?
呼び出す (空の) メソッドを使用したコールバックの例を次に示します。
RSpec 3 を使用した保留中の仕様を次に示します。
メッセージの期待値を使用して、メソッドが呼び出されたことをテストする方法のようです。例えば:
しかし、それはうまくいきません。もう 1 つの方法は、レコードが作成されたときに、呼び出されたメソッド内で何かが発生することをテストすることです (たとえば、電子メールの送信、メッセージのログ記録)。これは、メソッドが呼び出されたため、コールバックが存在することを意味します。ただし、実際には何か他のもの (送信された電子メール、ログに記録されたメッセージ) をテストしているので、ずさんな解決策を見つけたので、そのような解決策を探していません。
ruby - RSpec 引数に一致するハッシュの配列
rspec が提供する引数マッチャーを使用して、ハッシュの配列を照合したいと考えています。これは理想的には私が望むコードです:
これは、引数の不一致でエラーになりました。私が思いつくことができる唯一の実用的な解決策は次のとおりです。
私は何か間違ったことをしただけですか?
ruby - Rspec - サードパーティの例外をスタブする方法
これらの AWS 例外をキャプチャできることをテストしようとしています。
私のRspec 3コード:
しかし、このスタブをテストすると、TypeError が発生します。
AWS::Errors::ServerError を含める必要がありますか? もしそうなら、どうすればいいですか?aws-sdk-v1 gem を使用しています。
ありがとう。