問題タブ [partial-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 投票する
2 に答える
2110 参照

php - Laravelの部分的なモックモデルが呼び出されていません

laravel (4.2)フレームワークを使用して Web アプリケーション (PHP 5.4.25) を開発しています。eloquent-repository で実装されたリポジトリ インターフェイスを作成しました。そのリポジトリを UserController 内で使用します。

私のリポジトリの実装:

また、コントローラーをテストするために UsersControllerTest を作成しましたが、すべて正常に動作し、ユーザーが DB に追加されました。DB挿入をテストする必要がないため、UserRepositoryInterfaceをモックした後、コントローラーをテストしたいだけです

私のルーテファイル:

テストを実行すると、次のエラーが表示されます。


モックされたメソッドsaveが呼び出されないのはなぜですか?

なにが問題ですか?


編集:部分的なモックがなくてもすべて正常に動作しますが、問題は次のとおりです:なぜ部分的なモックでは動作しないのですか?


ありがとう

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

jmockit - Jmockitでプライベートメソッドをモックしながら「任意の」パラメータタイプを一致させる方法

次のシナリオで jmockit を使用しているときに問題が発生しました。Webで調査しましたが、まだ答えを見つけることができませんでした。

記録フェーズでは、部分的にモックされたオブジェクトに期待を設定しています。それをしている間、単一のパラメーターでプライベートメソッドをモックしたいと思います。しかし、私はそのパラメータ値にあまり関心がありません。その特定のプライベート メソッドのすべての呼び出しを、それに渡された引数のインスタンスと一致させたいと考えています。Jmockitでそれを行うにはどうすればよいですか。方法はありますか?

上記のコードでは、メソッドが値を受け入れないため(Department) any、渡すことができません。Deencapsulation.invoke(...)null

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

java - Mockitoを使用して例外をスローするメソッドを部分的にモックする方法は?

例外処理をテストするのに役立ちます。この特定のケースでは、特定のクラスの非整列化中に例外がスローされたときに特定のタスクを実行するエクストラクタがあります。

サンプルコード

以下はコードの簡単な例です。製品版はもっと複雑です。

私が試したこと

これが私が試したことのリストです。簡潔にするために、私はすべてのありふれた詳細を埋めていません。

スパイ

次のメソッドは何も実行せず、例外はスローされません。理由はわかりません。

あざける

例外をスローするメソッドでは部分モックがうまく機能しないように見えるため、以下は機能しませんでした。

次に答える

これは機能しますが、これが適切な方法であるかどうかはわかりません。

質問

このthenAnswer方法は機能しますが、適切な解決策ではないようです。この状況で部分モックを実行する正しい方法は何ですか?

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

junit - PowerMockito で静的メソッドを部分的にモックできない

Util クラスでtoBeMockedFunctionという名前の静的関数をモックします。このメソッドはpublic static void メソッドであるtoBeUnitTestedから呼び出されます。toBeMockedFunction で何もしたくない。部分的なモックとスタブ化の多くのアプローチ (そのような 2 のスニペットが投稿されています) を試しましたが、成功しませんでした。

私が間違っていることを提案してください。

以下は私のjunitクラスです

  1. アプローチ2

    /li>
0 投票する
1 に答える
2500 参照

java - JMockit - 部分的なモックとモックされた親

次のようなクラスを (JMockit を使用して) テストしたいと思います。

クラスチェンジはできません。問題は、ComplexParentClass に複雑なコンストラクターが含まれているため、テストが困難になることです。そこで、親クラスをモックしたいと思います。また、複雑なプライベート メソッドをモックしたいと思います。しかし、そのようなことは可能なのでしょうか?

私は次のことを試しました:

ただし、これは「すでに嘲笑された」例外につながります。

これにアプローチする方法を知っている人はいますか?

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

java - @Spy表記を使用して、Mockitoでスパイオブジェクトを宣言することはできますが、インスタンス化することはできませんか?

私はレガシー コード用の JUnit テストをいくつか作成しており、注釈を使用することの大ファンです。スパイされたオブジェクトへの宣言を作成し、後でインスタンス化できるかどうかを知りたいです。私が尋ねる理由は、null 以外のコンストラクタを持つクラスがあるためです。このコンストラクターの値は、テスト ケースのセットアップ後までわかりません。以下のコードは、私がやりたいことを示しています。

これを実行できる唯一の方法は、構文を組み合わせて、従来のスパイ (オブジェクトからモック) 表記を使用することです。あれは:

または似たようなもの。これについて何か考えはありますか?

0 投票する
0 に答える
393 参照

c# - Rhino モック : デフォルト (null) 値を返すモック プロパティ

動的モックを使用して、設定されていないプロパティを使用しようとすると、このプロパティのデフォルト (null) が返されます。

Partial Mock で同じ動作が必要なのは、1 つのプロパティのみです。このプロパティが null を返す必要があります。(プロパティは仮想であってはなりません)

例えば:

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

java - Mockito.mock が「フル」モックではなく部分モックを作成するのはいつですか?

このコードを考えると:

を実行するmakeitと、出力は次のようになります。

これは、サブジェクトのいくつかのインスタンスが作成されているが、潜在的に重要なコンストラクター ロジックをバイパスしていることを示しているようです。これは「部分的なモック」と一致していますが、コードはそのようなことを要求するために何もしていません。

ドキュメントはすべて部分モックの使用に対して強く警告しているため、これがデフォルトの動作であることは驚くべきことです。いつ部分モックを返すかを説明するドキュメントを見つけることができなかったためmock()、クラスから「完全なモック」を取得する方法がわかりません。

そう:

  • はいつMockito.mock()部分モックを作成しますか?
  • Mockito はクラスの「完全なモック」を作成できますか? それともインターフェースのためだけですか?
  • 「完全なモック」をリクエストするにはどうすればよいですか?