問題タブ [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.
java - Powermock は、NTFS パーティション上にある場合、Eclipse/Fedora 10 でのテストの起動を遅くします
Powermock を適切に使い始めたところ、テストの起動が非常に遅くなることに気付きました。実行中に top をざっと見てみると、mount.nfts-3g がほとんどの CPU を占有していたことがわかります。Eclipse とソース ディレクトリを ext3 パーティションに移動して、それが問題であるかどうかを確認しました。テストの起動は速くなりましたが、まだ顕著な遅延があります。これは Powermock では正常ですか、それとも明らかな何かが欠けていますか?
eclipse - EclipseでJUnit 4を使用した単体テスト中のPowermockおよびjarファイルのロードに関する問題
powermock 1.2.5 を使用して、データを Oracle データベースに保存するクラスを実行しています。テストを実行すると、単体テストが次の例外で失敗します。
NoSuchAlgorithmException : DES アルゴリズムが見つかりました。
コードをデバッグした後、アプリケーションがパスワードを設定してデータベース接続を確立しようとすると、この例外がスローされることがわかりました。
私の観察のいくつかは次のとおりです。
- power mock なしで単体テストを実行すると、例外は発生しません。
- eclipse.sun-jce.jar の単体テスト ブートストラップに手動で sun-jce.jar ファイルを含めると、単体テストを実行できます。これは、jre ライブラリ フォルダー内の jar ファイルの 1 つです。SUN Java jre バージョン 1.5.0_10 を使用しています
したがって、単体テストの実行時に、パワーモックがこの特定のjarファイルを何らかの形でアンロードすると推測しています。powermock を使用するときに同様の問題が発生する人はいますか?
現時点で考えている回避策は、単体テストの setup() の下でプログラムによって jar ファイルをロードすることです。
java - MavenからPowerMockRunnerを介してMockitoでJunitとPowerMockを実行する
PowermockをMavenで実行できません。私は、jUnitテストを実行するためのPowerMockMockitoおよびPowerMockRunnerです。
テストは次のとおりです。
テストを実行するための特別な設定はしていません。私のpomは次のdepsを参照しています:
- org.mockito | mockito-すべて| 1.8.0
- junit | junit | 4.6.0
- org.powermock.modules | powermock-module-junit4 | 1.3.1
- org.powermock.api | powermock-api-mockito | 1.3.1
mvnを実行するとmvn -Dtest=AlertNotificationsTest test
、実行するテストはないと表示されます。しかし、Eclipseから同じテストクラスを実行すると、すべてが正常に実行されます。
私は何か間違ったことをしていますか?
これが私のpom.xmlです(関連する部分)
これがMavenからの出力です
mvn -Dtest=AlertNotificationsTestテスト
注:他のテストを実行することはできますが、このテストを実行することはできません。AlertNotificationsTest
クラスを拡張させると、クラスjunit.framework.TestCase
はMavenによってピックアップされますが、によって駆動されないようPowerMockRunner
です。
その出力は次のとおりです。
繰り返しますが、これらのテストはEclipseで問題なく実行されます。
更新考えられる問題と回避策を見つけました。TestNGとJUnitを使ったテストがあります。PomからTestNGを削除し、すべてのテストをJUnitに移行すると、でPowerMockテストを実行できますmvn test
。したがって、Mavenとjunit/testngコンボに問題があるようです。
両方を実行できるようにしたいのですが、方法が見つからない場合は、自分の質問に答えます。ありがとうみんな&ギャルズ
java - Powermockと一緒のJunitパラメーター化テスト-どのように?
私は、PowerMockと一緒にJunit4でパラメーター化されたテストを実行する方法を理解しようとしてきました。問題は、PowerMockを使用するには、テストクラスを次のように装飾する必要があることです。
パラメータ化されたテストを使用するには、装飾する必要があります
私が見ることができることから、それらは相互に排除されているように見えます!?これは本当ですか?これを回避する方法はありますか?PowerMockで実行されているクラス内にパラメーター化されたクラスを作成しようとしました。このようなもの:
しかし、残念ながら、これはあまり効果がありません...ParamTestClass
それでもPowerMockサポートでは動作しません(驚くことではないかもしれませんが)...そして私はアイデアが不足しているので、助けていただければ幸いです!
更新: 将来のグーグルについては、「RunWithなしでPowerMockを使用しますか?」も参照してください。
nullpointerexception - Powermock:nullPointerExceptionを与えるProcessBuilderredirectErrorStream
私はpowermockを使用して、プロセスビルダーを使用してネイティブコマンド呼び出しをモックしています。奇妙なことに、これらのテストは時々合格し、時には失敗してNPEを与えます。これはパワーモックの問題ですか、それともプログラムの落とし穴ですか。
これが私がテストしているクラスのスニペットです:
単体テストケースは次のとおりです。
実行時にエラーが発生し、テストケースが失敗します。
注:すべての実行でこのエラーが発生するわけではありません。合格することもあれば、失敗することもあります。私はこの振る舞いを理解することができません。また、著作権の問題のため、いくつかの変数名をカモフラージュしました。
java - powermock を使用してサービスを返すクラスをテストしていますか?
PowerMock を使用して特定の基盤サービスをテストしたいのですが、複雑です。
あなたの提案を聞きたいです
MyServiceClient を使用してサービスを呼び出して取得する ServiceUtil を作成しました。
ServiceUtil メソッド - updateService をテストします。どうすればいいのですか?
android - PowerMockito を使用して android アクティビティ クラスをスタブしようとすると、RuntimeException "Stub!" がスローされます。
PowerMock と EasyMock を使用して Android の Menu および MenuItem クラスをスタブ/モック化するこの例を見つけました。私は PowerMock と Mockito で Activity クラスを使って同様のことをしようとしています。
多くのメソッドが final であり、Android.jar ではすべて RuntimeException("Stub!") をスローするだけであることを理解しています。
また、このテストが完了していないことも理解していますが、android Activity クラスをモックできるかどうかを確認したいだけです。
しかし、PowerMock では final メソッドを使用してクラスをモックできるため、このコードは機能しないのでしょうか?
RuntimeException は発生しなくなり、「タイトル」が返されると思いますが、それでも例外がスローされます。
私はあらゆる種類のさまざまなことを試しましdoReturn("Title").when(mockActivity).getTitle();
たsuppress(constructor(Activity.class));
私は何か間違ったことをしていますか、それともこれは不可能ですか?
expect - 拡張メソッドでのPowerMockの問題
PowerMockを使用してサードパーティのコードをモックしようとしていますが、拡張メソッドに問題があります。
そこで、何が起こっているのかを示すスニペットを提供します。
今、私はClassAをモックしようとしています。それは、私のコードが使用しているものだからです。モックはうまく作成されますが、次のような期待を追加すると、次のようになります。
次のエラーが発生します。
java.lang.IllegalStateException:org.powermock.api.easymock.internal.invocationcontrol.EasyMockMethodInvocationControl.invokeのorg.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:43)で前のメソッド呼び出しmethodA()の動作定義がありません(EasyMockMethodInvocationControl.java:95)at org.powermock.core.MockGateway.doMethodCall(MockGateway.java:104)at org.powermock.core.MockGateway.methodCall(MockGateway.java:167)at .ClassC.methodA(ClassC.java )。
私が欠けているものについて何か考えはありますか?あまり詳細を含めていないことはわかっていますが、表記を使用してテスト用にClassAを準備しました。また、期待値を設定する前に、mockClassAを誤って間違った状態にしないように、リプレイを1か所に配置しました。
function - powermock-easymock-testng で静的関数をモックできない (非 Maven プロジェクト)
最初に言うと、私は何度も何度も試しましたが、今は助けが必要です
私のコードはこちら
[パーサー] 実行中: C:\MockWorkspace\Mock\temp-testng-customsuite.xml
助けてください、私はさまざまな解決策を試しましたが、解決できません。誰でもこのコードを試して、成功するように修正できますか? EasyMock.expect でエラーが発生する ................
http://blogs.bytecode.com.au/glen/2006/10/12/doing-bytecode-kungfu-with-javassist.html で回避策を見つけました。.また行き詰まってしまう 私のテストケースは、単独で実行すると正常に動作しますが、Ant で実行すると問題が発生します。異なるファイルの他のテスト ケースが干渉している可能性があります。私の個々のテストケースが @PrepareTest & easymock/powermock を使用していたときに、同じエラーが発生しました
[テスト] ====================静的呼び出し======================== == [testng] javassist.CannotCompileException: by java.lang.LinkageError: ローダー (sun/misc/Launcher$AppClass Loader のインスタンス): 名前の重複クラス定義を試行しました: "com/symantec/mobius/aggregator/submission/SubmissionFactory" [testng] at javassist.ClassPool.toClass(ClassPool.java:1085) [testng] at javassist.ClassPool.toClass(ClassPool.java:1028) [testng] at javassist.ClassPool.toClass(ClassPool.java:986) [testng] ] javassist.CtClass.toClass(CtClass.java:1110) で
java - PowerMock Mockito:すべての静的メソッドをモックする方法は?
PowerMock(Mockitoで)を使用する場合、クラスのすべての静的メソッドをモックする必要がありますか?つまり、次のようになります。
getInstanceメソッドをモックする必要がある場合、「anotherStaticMethod」もモックする必要がありますか?
PowerMockバージョン:1.3、Mockitoバージョン:1.8