問題タブ [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を使用して静的メソッドをモックします。静的および非静的メソッド呼び出しの順序を確認する必要があります。PowerMockを使用して行うことは可能ですか?
UPD
私はpowermockito拡張機能を使用して静的メソッドをモックしているので、powermockito拡張機能を使用したソリューションが望ましいです。
java - junitリロードクラス
powermockを使用してLogger.getInstance()メソッドをモックします。これは、junitがクラスをリロードしないようであり、最初のテストテストクラスの後に間違ったロガーインスタンスがあるため、問題を引き起こします。
LoggedClassのログインスタンスが古くなっているため、テストは失敗します。明示的に新しいロガーインスタンスを挿入することもできますが、モックする必要のある静的変数がたくさんある場合は面倒です。
新しいテストを実行するたびにクラスをリロードするようにjunitを設定するにはどうすればよいですか?
dependencies - playframework アプリの powermock 依存関係
playframeworkアプリケーションの依存関係を構成して、powemockを使用しようとしています。
私のdependencies.ymlで:
必要とする:
私はテストクラスを持っています:
問題は: 私のコードは* PowerMockRunner * クラスを認識できません。
また、この記事を読む:
このコードをdependencies.ymlにも追加しました(ただし、役に立ちません):
では、依存関係を解決するように構成するにはどうすればよいですか?
java - 抽象クラスのモック
重複の可能性:
Mockito を使用して抽象クラスをテストする
テストする必要がある機能を備えた抽象クラスがあります。抽象メソッドの op 実装を使用せずにそのクラスの単純な派生物を作成できますが、フレームワークのモックで行うことは可能ですか? クラスの内部状態を維持する必要があるため、単に呼び出すことはできません
私には何か必要です
しかし、クラスは抽象であるため、明らかにこれは不可能です。
java - 保護されたメソッドのモック
継承された保護されたメソッドをモックしたい。このメソッドは、別のパッケージのクラスから継承されているため、Java コードから直接呼び出すことはできません。このメソッドをスタブするように指定する方法が見つかりませんwhen(...)
オーバーライドを調べたところPowerMockito.when
、これらはすべてプライベート メソッド専用のようです。
保護されたメソッドを指定するには?
java - 同じクラスから別のプライベート void メソッドを呼び出すメソッドを PowerMock でテストする方法は?
例のようないくつかのメソッドを持つクラスがあります。
aMethod
powermock でテストしたいのですが、 voidMethod
. TestClass
何もしないようにするための部分的なモックを作成しましたがvoidMethod
、このメソッドの呼び出しを期待する方法がわかりません。
2 行目でエラーが発生します。
EasyMock 型の expect(T) メソッドは、引数 (void) には適用できません。
この問題を解決するにはどうすればよいですか?
java - PowerMockは注釈なしで使用できますか?
PowerMockを別のアプリケーションのライブラリとして使用しようとしています。アノテーションを使用せずに静的メソッド呼び出しをモックするためにそれを使用する方法はありますか(私は実際にはアノテーションを行わないClojureにいます)
java - クラスをモックするためにmockitoを使用するときのClassNotFoundエラー
Mockito と PowerMock を使用してクラスをモックしようとしています。これがテストです
テストを実行しようとすると、次のエラーが発生します。
このエラーは、モック (Util.class) でスローされています。
これらは、私が使用している次の pom 依存関係です。
どんな助けでも大歓迎です。
ありがとう!!
java - java.lang.LinkageError: ClassCastException
私は TestNG と RESTeasy で本当に厄介な問題を経験しています。
RESTeasy フレームワークを使用して自身を公開する API クラスに対していくつかのテストを実行するクラスがあります。
ただし、maven (mvn test) でテストを実行すると、次の例外が発生します。
このテストは、(RESTeasy から) Response オブジェクトを返す API オブジェクトのメソッドを呼び出すだけです。テスト フレームワークとして、私は TestNG を使用します。
試験方法
問題の説明
RESTeasy フレームワークは、RuntimeDelegate を別のクラス ローダーにロードするようです。ソース コードを見ると、RuntimeDelegate (126 行目) に次のメソッドがあります: RuntimeDelegate.java。
したがって、エラーに関連する主なステートメントは instanceof チェックです。
デリゲート インスタンスのクラスローダーと RuntimeDelegate のクラスローダーを比較すると、次の出力が得られます。
もちろんこれが機能しないことは承知していますが、RESTeasy が MockClassLoader にロードされ、他のものにはロードされないのはなぜだろうかと思います。特に、テストされる TokenAPI をモックしていないためです。
奇妙な事実
奇妙なことに、IntelliJ からテストを実行すると (エラーを生成するメソッドを含む特定のクラスからすべてのテストを実行することのみを選択します)、実行されます。mvn test がmavenプロジェクトのすべてのテストを実行するという事実に何らかの形で関連しているようです(または少なくともそれは私が推測していることです)。
unit-testing - PowerMock を使用して static final メソッドをモックする
すべてのメソッド static および final を持つクラスがあります。クラスで静的かつ最終的なメソッドをモックするにはどうすればよいですか。
PowerMockをモックutilMethod()
して使用する方法は?anotherUtilMethod()