問題タブ [mockito]

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 投票する
6 に答える
6373 参照

jsf - mockitoを使用してfacescontextをモックする方法は?

mockitoを使用してfacescontextをモックアウトするにはどうすればよいですか?

私はこのダミーメソッドを作成しました:

JUnitテストを実行すると、getCurrentInstance()を呼び出すとnullpointer例外が発生します。

フェイスメッセージが追加されているかどうかを確認するために、facescontextをモックアウトしてテストを作成するにはどうすればよいですか?

0 投票する
13 に答える
62764 参照

unit-testing - SLF4J ログメッセージを単体テストする最良の方法は何ですか?

私は slf4j を使用しており、コードを単体テストして、特定の条件下で警告/エラー ログ メッセージが生成されることを確認したいと考えています。これらは厳密な単体テストにしたいので、ログメッセージが生成されることをテストするために、ファイルからロギング構成を取得する必要はありません。私が使用しているモッキング フレームワークは Mockito です。

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

java - 単体テスト実行中の Spring Context の問題

Spring と Mockito を使用していくつかの単体テストを実行しています。次のように springcontext.xml でモックを構成しました。

私のテストクラスは次のように構築されています:

このテストを実行すると、コンテキストが null であるため、getBean() が NPE をスローします。ただし、テスト クラスの名前を TestEndpoint (または文字列 'Feature' を含まないもの) に変更すると、問題なく動作します。 「feature」という名前を含む Bean があります.なぜこれが起こっているのかについての手がかりはありますか?

スローされた例外のトレースは次のとおりです。

ありがとう

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

java - 部分的なモッキングの代替手段は?

手作りのモックにうんざりしているので、自分のプロジェクトに Mockito を導入しようとしています。

特定のユース ケース (またはサービス) に対してすべての Hibernate クエリを分離するデータベース アクセサーが多数あるとします。だから私は、、、などのインターフェースを持つことができRoutingDaoます。これらの各インターフェイスは、やなどのメソッドを使用して非常に一般的なものを拡張します。Hibernate では、後者は切り離されたエンティティを現在のセッションでリロードすることになっています。テストでは、引数を返すだけです。UserDaoReportingDaoDaocommit()rollback()reload(Entity)

手作りのモックでは簡単でした。MockDaoこのメソッドの一般的な実装があり、その実装MockRoutingDaoを拡張MockDaoして使用しました。私が Mockito で目にする 1 つの方法は、モック化されていない呼び出しをMockRoutingDao拡張して委譲することです。MockDao継承されていないメソッドは、spy(). しかし、これはかなり醜いです - 私はまだモックを手作りする必要があり、一部の実装を再利用するための部分的なモックと継承の全体的なアイデアは混乱しています.

どうすれば改善できますか?多くのテストで再利用できるモック メソッドの共有実装を作成するためのベスト プラクティスは何ですか?

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

java - Mockito は通話を嘲笑していません

私がテストしている機能の 1 つは、マシンへの sshing です。私は実際にマシンにsshしていないので、実際にマシンにsshしようとするpingメソッドをモックしたいと思います。

私がテストしているクラス:

テストクラスは次のようになります。

問題は、それらをローカルで実行しているときは問題なく動作することですが、自動構築システムでは、実際に実際の ping を呼び出して認証例外を取得しているように見えます。私は spy() の代わりに mock() を使用しますが、それは少し変だと読んだことがありますが、実際にメソッドを呼び出しているという点で何が違いを生むのか理解できません! 他の誰かが何か洞察を持っているかどうか疑問に思っています。

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

unit-testing - モッキングの依存関係が多すぎる:単体テストの質問

Business クラスのテストを行いたいのですが、この問題があります。モッキング オブジェクトの 1 つが、Sites、URL、ComplexObject などの他のクラスに多くの依存関係を持っています。

私の質問は、テストする必要があるメソッドでモックオブジェクトのこのメソッドを使用する必要がある場合、どうすればクラスを分離できますか? それらすべてをモックして、モックされたオブジェクトに追加する必要がありますか?

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

java - PowerMock Mockito:すべての静的メソッドをモックする方法は?

PowerMock(Mockitoで)を使用する場合、クラスのすべての静的メソッドをモックする必要がありますか?つまり、次のようになります。

getInstanceメソッドをモックする必要がある場合、「anotherStaticMethod」もモックする必要がありますか?

PowerMockバージョン:1.3、Mockitoバージョン:1.8

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

java - PowerMock: 静的メソッドのモック (+ 特定のメソッドで元の値を返す)

PowerMock 1.4.7 と JUnit 4.8.2 を使用しています

いくつかの静的メソッドのみをモックする必要があり、他の (同じクラスの) メソッドは元の値を返すだけです。すべての静的メソッドをモックしてmockStatic呼び出さないとwhen().doReturn()、デフォルトが返されます-オブジェクトを返す場合はnull、ブール値を返す場合はfalseなど...など。だから私は thenCallRealMethodデフォルトの実装を返すために各静的メソッドで明示的に使用しようとします(モッキングなし/偽物なしを意味します)が、可能なすべての引数のバリエーションでそれを呼び出す方法がわかりません(=すべての可能な入力呼び出し元のメソッドが必要です)。私は具体的な引数のバリエーションをあざける方法しか知りません。

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

java - ネイティブ メソッドを呼び出すコードのテスト

私はこのようなクラスを持っています:

getBar()は JNI で実装され、クラスはfinalであることに注意してください。toString()メソッドをテストする JUnit テストを作成したいと考えています。このためには、getBar()メソッドをモックしてから、元のtoString()メソッドを実行して出力を確認する必要があります。

最初はこれは不可能だろうと思っていましたが、機能リストに従って最終クラスとネイティブ メソッドのテストをサポートするPowerMockを見つけました。しかし、これまでのところ、私はそれで成功していません。私が管理した最善のことは、完全なクラスをモックすることでしたが、テストでは、あまり意味のない実際のメソッドではなく、モックされたtoString()メソッドをテストしました。

では、PowerMock を使用して上記のtoString()メソッドをテストするにはどうすればよいでしょうか? 私は Mockito でPowerMockを使用することを好みますが、これが不可能な場合は、代わりにEasyMockを使用しても問題ありません。

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

java - mockito - addObserver の偽装

私はモキットから始めて、オブザーバーを追加する方法を疑問に思っています。関数呼び出し後にオブザーバー数が増加したことを確認するテストを作成したいと考えています。

テストコードの例:

adm はモックなので、ロジックを定義する必要があることはわかっていますaddObserverが、何をすべきかわかりません - when(adm.addObserver(Observer o)).then(?)