問題タブ [ruby-mocha]
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 - モカでソートをあざける
配列のソートがラムダ式を期待するようにモックするにはどうすればよいですか?
これは私の問題のささいな例です:
さて、最初はこれがうまくいくと思っていました。ただし、次のエラーが発生しました。
lがパラメータとしてlに渡されないため、これは機能しないことに気付きました。しかし、このコードが達成しようとしていることを行う別の方法はありますか?
注:上記の方法を理解せずに、問題を解決する方法を理解しました。他の誰かが同様の問題を抱えている場合に備えて、これは開いたままにしておきます。
乾杯、ジョセフ
ruby-on-rails - any_instance の Mocha スタブを元に戻す方法はありますか?
コントローラーの仕様内で、有効なものをスタブアウトしていますか? いくつかのルーティング テストでは、(Ryan Bates nifty_scaffold に基づく) 次のように:-
コントローラーを単独でテストする場合、これは問題ありません。モデルスペックには次のものもあります
繰り返しますが、これは単独でテストするとうまく機能します。モデルとコントローラーの両方で spec を実行すると問題が発生します。モデル テストは、有効な?として常に失敗します。メソッドはスタブ化されています。コントローラー テストが破棄されたときに、any_instance のスタブを削除する方法はありますか。
テストをアルファベットの逆順で実行して、コントローラーの前にモデル テストが実行されるようにすることで問題を回避しましたが、テストがシーケンスに依存するのは本当に好きではありません。
ruby - Ruby で Mocha モックから動的な値を返す方法
私の問題の要点は次のとおりです。
以下の「post_to_embassy」で表されるメソッドの Mocha モックを Ruby で作成しています。問題を説明する目的で、実際のメソッドが何をするかは、私たちの関心事ではありません。しかし、動的な値を返すにはモックが必要です。以下の proc '&prc' は、実際のメソッドの代わりに正しく実行されています。しかし、Mocha の「with」メソッドでは、ブール値のみを返すことができます。したがって、以下のコードは nil を出力します。orderInfoXml を介して渡される値を出力するために必要です。私が使用できる別の方法を知っている人はいますか?
出力:-
ruby-on-rails - 生成されたオブジェクトで呼び出されたメソッドのテスト
次のコントローラーのテスト ケースがあります。
「stubs(:plainversion)」を「expects(:plainversion)」にしたいことを除いて、これはうまくいきます。
コントローラーのコードは次のとおりです。
そしてクリーナーは単純です:
繰り返しますが、「parse」メソッドから利用できる「クリーナー」を確実にテストする方法がわかりません。助言がありますか?
ruby - Test::Unit で any_instance の Mocha スタブを元に戻す方法はありますか
この質問と同じように、私も Ryan Bates の nifty_scaffold を使用しています。これには、Mocha のany_instanceメソッドを使用して、コントローラーの背後に埋め込まれたモデル オブジェクトに「無効な」状態を強制するという望ましい側面があります。
リンク先の質問とは異なり、RSpec を使用していませんが、Test::Unit を使用しています。つまり、そこにある 2 つの RSpec 中心のソリューションは、私にとってはうまくいかないということです。
any_instance スタブを削除する一般的な (つまり、Test::Unit で動作する) 方法はありますか? テストでバグが発生していると思われるので、それを確認したいと思います。
ruby - Mocha で引数を使用してメソッドをテストしようとすると、奇妙なエラーが発生します。それはバグですか、それとも私ですか?
Mocha に関するドキュメントを見つけるのはかなり難しいので、私はここで完全に海にいるのではないかと心配しています。引数を渡すスタブ メソッドに問題があることがわかりました。たとえば、次のようなクラスを設定するとします。
はい、それは不自然ですが、テストで呼び出されたくないメソッドがある可能性があるという考えを単純化したものです。
だから私は次のようなテストを書くかもしれません:
今、私はこれが合格することを期待しています。しかし、代わりに、このやや難解なエラーメッセージが表示されます。
これは、モカの腸の奥深くで何かが鳴ったことを除けば、私にはまったく意味がありません. 2 番目のメソッドに引数を渡さずに同じ種類のテストを作成しても問題はありません。何か不足していますか?
ruby - モカ・モックは別のテストに持ち込む
私は15 の TDD ステップに従って Rails アプリケーションガイドを作成しましたが、解決できない問題に遭遇しました。WordsController の機能テストのために、次のコードを用意しました。
Word クラスには、次のコードがあります。
テストを実行すると、次のエラーが発生します (簡潔にするために短縮されています)。
テストの順序を変更して他の多くのことを変更しようとしましたが、何度も何度も同じテストの失敗を受け取り続けます - その Word.random() はすでに呼び出されています。
Rails 3.0 beta 4 と Mocha 0.9.8 を実行しています。問題の解決策を長い間懸命に探してきましたが、見つけられないようです。私は Ruby/Rails を初めて使用するので、言語とフレームワークに慣れていません。
前もって感謝します!
ruby - ブロックをパラメーターとして受け取るモック メソッド
私は多かれ少なかれこのようなシナリオを持っています
私はクラス A の単体テストを行っており、B#new が A#new に渡されたブロックを受け取っているかどうかを知りたいです。Mocha をモック フレームワークとして使用しています。
出来ますか?
ruby-on-rails - モックで2つの異なる期待をテストする
最近、最初のRails3アプリにDeviseを追加しましたが、コントローラーのテストで少し問題が発生しています。
Deviseが使用しているのと同じモデルであるUserコントローラークラスをテストしています。だから私のスペックの初めに私はこれを持っています:
これで、次のようにモックやスタブを使用せずにテストに合格できます。
しかし、教育目的で、モックとスタブで動作させる方法を知りたいのですが、通常は完全に簡単ですが、DeviseがUser.find
コントローラーのアクションの前に呼び出して、テストを失敗させているようです。
また、期待値に追加twice
すると、最初のfindの呼び出しが、期待値を設定している呼び出しとは異なるため、これも失敗します。
任意の洞察をいただければ幸いです。
ruby - Rspec 2 と Mocha で Rails 3 ジェネレーターを取得する
Rspec 2 と Mocha を使用して Rails 3 を構成するために、オンラインで見つけたすべての手順に従いました。私のGemfileで:
そして、spec/spec_helper.rb では:
それでも、Rails ジェネレーターを使用すると...
... spec/controllers/foos_controller_spec.rb で次を取得します。
...もちろん、すべての仕様が失敗します。
私が欠けているものを誰かが知っていますか?
前もって感謝します。