問題タブ [rhino-mocks]

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 に答える
1559 参照

rhino-mocks - Rhino Mocks で部分スタブを生成することはできますか?

私は一般的にユニットテストとモッキングに不慣れで、特定のメソッドが同じクラス内の別のメソッドから呼び出されることを確認したいクラスの 1 つのテストを設定しようとしています。したがって、具体的な実装を使用したいと思いますが、その一部をモックアウトします。これは可能ですか?

そのため、GetAccounts() を呼び出すスタブを設定しようとしています (具体的な実装を使用したい) が、そのメソッドが GetAccounts(null) を呼び出すかどうかを確認したいと思います。

問題は、stub.GetAccounts() を呼び出すと、リプレイ中に呼び出されると予想される CallOriginalMethod() 行で具象クラスが呼び出されることです。したがって、レコーディング中とテストの実行中の両方で、実装の具体的なメソッドは、単にそれらをモックアウトしたいときに呼び出されます-部分的に説明したように。これは私の誤解ですか?インターフェイスだけでなく、具体的なクラスをモック/スタブ化できないようにする必要がありますか?

モックアウトできるようにしたいメソッドに virtual キーワードを追加する必要がありますか?

これは可能ですか?どうすればいいですか?

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

c# - Rhino Mocks Exception Expect #1 Actual #0 : 支援が必要

私はこれを検索しましたが、すべてをキャッチしているようですが、残念ながら私が読んだものはすべてそれを理解するのに役立ちません. クラスは次のとおりです。

そしてテスト:

また、試してみましたが機能しません

しかし、私はこの例外を受け取り続けています:

Rhino.Mocks.Exceptions.ExpectationViolationException:
IMockInterface.MockedMethod(); 期待された #1、実際の #0

私が読んだことから、これは、メソッドが予想とは異なるパラメーターで呼び出されたか、メソッドが呼び出されなかったが呼び出されることが予想されていたことを示唆しています。これはテストの場合ではありません。

補足: 社内コードなしで Rhino.Mocks を実際に使用するのはこれが初めてなので、基本的には作業を進めていきます。ここには本当にばかげた何かがあるかもしれません...

これはコメントされた古いテストでしたが、私が使用すべきだったものではありません:

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

unit-testing - ダミーのためのRhinomocks 3.5...つまり私

Rhinomocks 3.5 と新しいラムダ表記を使用して、いくつかのテストを模擬しようとしています。これを読みまし が、さらに多くの質問があります。特に MVC タイプのアーキテクチャの完全な例はありますか?

たとえば、これをモックする最良の方法は何ですか。

ビュー インターフェイスとプレゼンター インターフェイスがあります。コントローラーでイベントを呼び出しています。

私が思いついたのはこれです。

合格ですが、それが正しいかどうかはわかりません。

はい、開発後にテストを行っています...迅速に行う必要がありました。

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

.net - Rhino Mocks: 静的 MockRepository メソッドのない AAA テスト構文?

私は、Rhino Mocks の新しい AAA 構文を使用しています (そして気に入っています)。ただし、次のようにスタブとモックを作成する必要があることに困惑しています。

インスタンス化された MockRepository の代わりに:

この構文により、単体テストの移行が容易になります。

Ayende の wiki を読むと、2 番目の構文が機能するように見えますが、正しく機能させることができません。そのようにすると、記録/再生ブロックを使用する必要があります。また、静的メソッドなしで新しい構文を使用している例をオンラインで見つけることもできません。

私の質問は、静的メソッドを使用せずに、また記録/再生に頼ることなく、AAA 構文を機能させることができた人はいますか? もしそうなら、私は何が欠けていますか?

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

c# - IEnumerableのGetEnumerator()メソッドをモックするタイプ

次のテストケースは、サイのモックで失敗します。

このテストケースには非常に微妙な点があると思います。RhinoMocksのスタブが実際にどのように機能するかを考えていないのは私からだと思います。通常、IEnumerableを列挙するときは、新しいIEnumeratorから始めます。上記の例では、2回目にsumを呼び出すときに同じ列挙子を再利用できるように見えます。列挙子がすでにシーケンスの最後にある場合は、Sum()への2回目の呼び出しが返される理由を説明します。 0.この場合、GetEnumerator()を希望どおりに動作するようにモックアウトするにはどうすればよいですか(たとえば、新しい列挙子または同じ列挙子が位置0にリセットされます)。

2番目の.Sum()呼び出しが実際に0ではなく6を返すように、上記のテストケースをどのように変更しますか?

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

c# - 単体テストであまりにも多くのモック期待に対処するにはどうすればよいですか?

プレゼンテーションクラスの単体テストをMVPパターンで書いていますが、モックセットアップコードを書くのに問題があります。

私はプレゼンターを持っていて、ビューをテストしたいというプレゼンターのLoadメソッドは、クラスプロパティ、テーブルフィールド、データ型をロードし、プレゼンターを設定する必要があります。テストすることを期待しています。そして、テストは毎回大きくなっています。

このコードにコードの臭いはありますか?どうすればこれを改善または簡素化できますか?

0 投票する
5 に答える
2409 参照

unit-testing - 単体テストでモックを使用するときにコードの重複を避ける方法

依存性注入を使用して、テスト対象のクラス外のコードにモックを提供しています。テストしたいメソッドで使用されるAuthProvider、ConfigurationManagerなどをモックアウトする必要があるため、同じコードを何度も何度も書いていることに気づきました。メソッドには分岐 (if-then-else) が含まれているため、メソッドのすべての実行パスをテストするために複数のテストを用意しています。各モックを数回 (各テスト メソッドで 1 回) インスタンス化していますが、これは間違っているのでしょうか? また、すべてのメソッドで AuthProvider.Authenticate() などの呼び出しが呼び出されるため、明らかにほとんどがコピーアンドペーストであるモックとプリセット応答に期待しています。

各メソッドでモック リポジトリをセットアップし、各メソッドの最後でモック リポジトリを検証します。これらのモックを作成し、期待値と戻り値を設定するためのある種のファクトリを用意する必要がありますか?

モックの実装には RhinoMocks を使用しています。

0 投票する
4 に答える
1285 参照

.net - 初級 Rhino 模擬問題

だから私はサイのモックに慣れていないので、私が取り組んでいるMVPパターン化されたプロジェクトでそれを始めようとしています。したがって、ビューを表すインターフェイスとプレゼンターのクラスを次のように取得しました。

そして、メソッドをモックするテストをセットアップしようとしているDoStuffので、次のような基本的なフィクスチャがあります。

しかし、View オブジェクトが null であるため、メソッド内から(期待値のセットアップ中に) null 参照例外が発生し続けます。DoStuffそして、これは私が立ち往生しているところです。Initプロパティの値を割り当てるメソッドを呼び出しましたViewが、メソッド自体が呼び出されなかったことが期待設定のポイントだと思いましたか?

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

c# - Rhinoモックでインデックス化されたプロパティをモックする方法は?

Rhino Mocks でインデックス付きプロパティをモックするにはどうすればよいですか?