問題タブ [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.
unit-testing - Powermock - 特定のメソッドをモックし、残りのオブジェクトをそのままにしておく方法
FirstName、LastNameにgetが設定されたPersonクラスがあります
TestCase1 を実行する TestClass
特定のメソッド (getLastName) だけをモックして、他のすべてのもの (他の内部フィールド、関数など) をそのままにしておくことはできますか?
java - PowerMockを使用して、NPEでのテスト結果でATGNucleusを取得する
次のコードをテストしようとしています。
明らかにNucleus.getGlobalNucleus()は静的です。
ドキュメントによると、私は使用できるはずです:
とにかく、私が呼び出すとき、私はまだnullpointerを取得します:
spring - PowerMock 使用時の「Spring NamespaceHandler が見つかりません」
編集:この問題を再現してPowerMockの人々に送信する最小限のプロジェクトを作成しようとしたとき、問題を再現できなかったため、他の変数が以下の問題を引き起こしているかどうかはまだわかりません.
Spring Bean 構成が正しく記述されていることを確認するために、特にユニット/統合テストを作成しようとしています。次のようになります。
そしてそれは合格します。ただし、同様のテストに PowerMock を使用する必要が生じました。PowerMock を次のように導入して、上記の合格テストを変更すると、次のようになります。
Eclipse ではテストに合格しますが、Maven 経由で実行すると次のエラーで失敗します。
テストの合格と不合格の間で、POM の依存関係を変更しませんでした。同じプロジェクトの別の場所で問題なく PowerMock をテストに使用していますが、これは util 名前空間で Spring xml ファイルを解析する最初のテストです。
何が問題なのか、またはそれを解決/回避する方法を知っている人はいますか?
java - PowerMock: Mockito で EasyMock の expectPrivate() を実行するには?
PowerMock はexpectPrivate
プライベート メソッドをモックするメソッドを提供しますが、これは EasyMock API にのみ表示され、Mockito APIには表示されません。
では、PowerMockito に相当するものはありますか? 私はそれを見つけられなかったからではなく、この wiki エントリのために推測しています。しかし、それは実際に PowerMockito がそれを回避するのを妨げるものではありません。だから、私は主に確認のためにこれを求めています。これは他の人にとって価値があると思うからです。
unit-testing - 同じ JUnit テストで Arquillian と PowerMock の両方を使用する
同じ JUnit 4 テストで Arquillian と PowerMock の両方の機能を使用したいと考えています。
問題は、両方の製品がRunner
で使用する必要がある JUnit であり、同じテスト クラスで複数を使用したり、同じ注釈に複数の s クラスを配置したりする@RunWith
ことができないことです。@RunWith
Runner
@RunWith
それを行う方法を知っていますか?
mocking - PowerMock / EasyMock を使用してモック メソッドから入力引数を取得する方法
エンティティ Person クラスがあります。process() メソッドを含む ProcessPerson クラスをテストする必要があります。
必要なのは、オブジェクトが process() メソッドで作成され、モック オブジェクト personDao のモック メソッド create() を介して呼び出されることです。
任意の提案、アイデアを歓迎します
ありがとう
java - PowerMockが@RunWith(PowerMockRunner.class)アノテーションから例外をスローする
PowerMockitoをアプリケーションで動作させようとしています。ライブラリをビルドパスに追加しました。次のテストクラスがあります。
テストを実行しようとすると、次の例外が発生します。
PowerMock FAQによると、レガシーパッケージを使用してみる必要があります。私はそうしました、そして私はまだ同じ例外を得ています。何か案は?
static - PowerMockでvoidを返す静的メソッドをモックするにはどうすればよいですか?
プロジェクトにいくつかの静的utilメソッドがあり、そのうちのいくつかは単に例外を渡すかスローします。void以外のreturn型を持つ静的メソッドをモックする方法については多くの例があります。しかし、voidを単に ""に返す静的メソッドをどのようにモックできますdoNothing()
か?
非voidバージョンは、次のコード行を使用します。
..。
..。
ただし、StaticResources
を返すに適用するvoid
と、コンパイルはwhen(T)
voidに適用できないと文句を言います...
何か案は?
回避策は、おそらくすべての静的メソッドBoolean
が成功のためにいくつかを返すようにすることですが、私は回避策が嫌いです。
java - Java リフレクションを使用すると、すべて null が返されます
私はこれでかなり迷っています。Spring ベースの JUnit4 でいくつかの受け入れテストを実行しています。ここで、単体テストも追加したいと思います。それらを高速にするために、コンテキストをスキップして、PowerMock でモックを注入します。ただし、突然の反射はすべて機能しなくなります。
2 行目は、getName() を除く型への他のメソッド呼び出しと同様に null を返します。
ただし、コンテキストを使用すると機能します。
ここで何が問題なのですか?リフレクションは、ランナーやコンテキストなしで機能するべきではありませんか?
行を追加することすらありません
何かを変更します(おそらく、ランタイムがクラスを反映できるようにクラスを初期化する必要があると考えました)
ああ、追加
も何も変わりません。
何か案は?
ありがとう!
PS: 今日から 1 日外出するので、35 時間以内に回答を読み上げます。
編集
何が起こっているのかを理解したところです。デバッガーを起動して、Client.class.declaredMethods
どれがnull
. ただし、実行getDeclaredMethods()
するとそれらが取得されます。そのため、最初はすべてが null のように見えて混乱しましたが、デバッガーはget...()
すべてのフィールドで実行されず、null
最初はそれらを残していました
スプリング コンテキストを使用すると、すべての Bean ( Client
is an @Entity
) が読み込まれ、すべてのリフレクション フィールドがソフト参照で埋められget..()
ます。
java - play フレームワーク + powermock => classNotFoundException
- powermock-mockito: 1.4.11
- モキート: 1.9.0
- 再生: 1.2.3
powermock-mockito を使用して最終クラスをモックしようとしています。このためには、テスト対象のクラスに @RunWith(PowerMockRunner) - アノテーションを付ける必要があります。ただし、これはプレイを混乱させ、テスト済みのクラス DropboxCrawlerTests に対して ClassNotFoundException を引き起こしているようです。
DropboxCrawlerTests.java:
編集:
完全なスタック トレース:
EDIT2:それは私がモックしたいクラスです:http://semicomplete.com/doc/org/elasticsearch/common/xcontent/XContentBuilder.html
EDIT3:
DropboxCrawlerTests.java をテストするための基本クラス
実際のテスト クラス DropboxCrawlMultipleFilesTests.java