問題タブ [powermock]

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

powermock - PowerMock を使用して非静的メソッドをモックする方法

テストメソッドの内部メソッド呼び出しをモックしようとしています

私のクラスは次のようになります

getStudent() メソッドの junit を作成するときに、PowerMock で行をモックする方法はありますか

または、DBに接続する実際のdao呼び出しの代わりに、junit実行中にAppクラスにモックdaoオブジェクトを使用させますか?

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

junit - プライベートセッターNullPointerのPowerMokitodoNothing()

問題:PowerMockito.doNothing()を実行しようとすると、Nullpointer例外がスローされます。

プライベートメソッドの値を返し、別のプライベートセッターメソッドに対して何もしないpartialMockObjectクラスを作成する必要があります。

doNothing()をsupress()に置き換えると機能させることができますが、これを理解したいと思います。

コード:

StackTrace:'java.lang.NullPointerException at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.addAnswersForStubbing(PowerMockitoStubberImpl.java:68)at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl java:43)org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when(PowerMockitoStubberImpl.java:104)

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

unit-testing - PowerMockを使用したTestNGDataProvider

ユニットテストにMockitoとTestNGを使用しています。PowerMockを試した静的メソッドをモックする必要があります。残念ながら、PowerMockと一緒にTestNGでDataProviderを使用することはできません。

質問:PowerMockの使用中にTestNGのDataProviderを使用するための回避策はありますか?

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

powermock - 拡張メソッドに関するPowerMokitoの問題

問題:拡張クラスからの戻りオブジェクトでメソッドをスタブ化できません。スタブ化しようとしているメソッドでnullポインターを取得するだけです。最初にオブジェクトに対してスパイを実行する必要がありますか?私もそれを試しましたが、うまくいきませんでした。

テストフレームワーク:PowerMockitoバージョン1.9PowerMockバージョン1.4.11EasyMockバージョン3.1

テストしようとしているコード行。

String expected = methodFromExtendedClass_GetObject().getStringValueFromReturnObject();

テストコード

PowerMockito.stub(MemberModifier.method(ExtendedClassA.class, "methodFromExtendedClass_GetObject()")).toReturn(new testObject());

PowerMockito.stub(MemberModifier.method(testObject.class, "getStringValueFromReturnObject")).toReturn(testString);

0 投票する
8 に答える
135658 参照

java - PowerMockとMockitoを使用してLoggerとLoggerFactoryをモックする

モックアウトしたい次のロガーがありますが、ログエントリが呼び出されていることを検証するために、コンテンツに対してではありません。

LoggerFactory.getLogger()に使用されるクラスをモックしたいのですが、その方法がわかりませんでした。これは私がこれまでに終わったものです:

私が知りたいのですが:

  1. スタティックをモックしLoggerFactory.getLogger()てどのクラスでも機能させることはできますか?
  2. でしか走れないように見えるのでwhen(loggerMock.isDebugEnabled()).thenReturn(true);@Beforeメソッドごとに特性を変えることはできないようです。これを回避する方法はありますか?

調査結果の編集:

私はこれをすでに試したと思いましたが、うまくいきませんでした:

しかし、それがうまくいったので、ありがとう。

しかし、私は無数のバリエーションを試しました:

loggerMockの動作を外部で変更することはできませんが、@BeforeこれはCoburturaでのみ発生します。Cloverを使用すると、カバレッジは100%を示しますが、どちらの方法でもまだ問題があります。

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

それから私はこのテストをします:

クローバーでは、if(logger.isDebugEnabled()){ブロックを100%カバーしています。しかし、私が検証しようとするとloggerMock

インタラクションはゼロです。私も試しPowerMockito.verifyStatic()ました; で@Beforeしかしそれはまたゼロの相互作用を持っています。

これは、Coberturaがif(logger.isDebugEnabled()){100%完全ではないことを示しているのは奇妙に思えますが、Cloverはそうしていますが、どちらも検証が失敗することに同意しています。

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

jsf - PowerMockを使用したJUnitテストのプロファイリング?

静的関数のモックを含む、モックを多用する非常に遅いJUnitテストがいくつかあります。単一のテストには20〜30秒かかり、「mvnテスト」全体には25分かかります。

時間が無駄になっている場所を分析したいのですが、プロファイリングの経験がほとんどありません。

依存するモックオブジェクトの初期化には時間がかかりすぎると思います。

2つの質問:

1)時間を無駄にしている方法で数字をすばやく取得するにはどうすればよいですか?複雑なパワーユーザーツールは必要ありません。数値を取得するための基本的なものだけです。(私たちが行うような嘲笑が悪であるという証拠)

2)どのような設計上の欠陥がそのような悪いタイミングを生み出す可能性があるかについてのアイデアはありますか?モックサービスを呼び出す必要があるJSFバッキングBeanをテストします。おそらく、バッキングBeanに入力検証またはリファクタリングされていないビジネスロジックがあるかもしれませんが、それを変更することはできません(plsはそれについてコメントしません;-))

ad 2)たとえば、1つのテストには@PrepareForTestを使用したテスト用に準備される約30(!)のクラスがあります。これは良いことではありませんが、理由を説明することはできません。

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

java - PowerMock EasyMock の基礎

これはおそらく PowerMock/EasyMock 101 の質問で、理由がわかりません。私はメソッドを持つクラスCを持っています

私の testOuter() メソッドのテストでは、testInner が適切なパラメーターで呼び出されるようにしたいと考えています。そのために、私は次のようなことをしています: [@RunWith(PowerMockRunner.class) @PrepareForTest(EmailUtil.class) クラスレベルで宣言]

しかし、次のようなエラーが発生しています:

実際のパラメーターを EasyMock.IsA(String.class) に置き換えましたが、まだうまくいきません。私はここで根本的にばかげたことをしていると確信しています。何か助けはありますか?

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

json - JsonpRequestBuilder を PowerMocked したことのある人はいますか?

私はする必要がPowerMockありJsonpRequestBuilderます。一連のコールバックをどのように処理すればよいですか?

前もって感謝します。

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

java - Antを使用してPowermockスイートを実行すると、ClassCastExceptionsが発生します

テストスーツは日食でうまく動作しています。ただし、ANTを使用してスーツを実行しようとすると、次のエラーがスローされます。

次のように、Webで多くの人が示唆しているように、クラスを無視しようとしました。

これでは問題は解決せず、次のエラーが発生し始めました。

前の例をしばらく試してみたところ、後で他のコードによって検出されるように問題を押しのけているように見え始めました。また、競合を解決できるようにjarをロードする方法を試してみましたが、これまでのところ運がありません。誰かが提供できるどんな助けも素晴らしいでしょう。

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

unit-testing - PowerMock / Mockito / EasyMock を使用して、モック化されたオブジェクトを依存性注入に使用するにはどうすればよいですか?

AuthenticationManager.authenticate(username,password)テスト中の SomeService の someMethod で呼び出されるメソッドがあります。AuthenticationManager は SomeService に注入されます。

単体テストでは、認証メソッドが正しく機能したふりをする必要があります。私の場合は何もしないので、メソッド自体が期待どおりに動作するかどうかをテストできます (認証は、単体テストの原則に従って他の場所でテストされますが、認証の必要があります)そのメソッド内で呼び出される)だから私は考えています.によって呼び出されたときに戻り、他に何もしないSomeServiceモックを使用する必要があります.AuthenticationManagerauthenticate()someMethod()

PowerMock (または PowerMock の一部である EasyMock / Mockito) でそれを行うにはどうすればよいですか?