問題タブ [jmockit]
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 - 1 つのテスト メソッド内で 1 つのクラスのモック化されたインスタンスとモック化されていないインスタンスを作成するにはどうすればよいですか?
1 つのテスト メソッド内で 1 つのクラスのモック化されたインスタンスとモック化されていないインスタンスを作成するにはどうすればよいですか?
「lastContact」属性が 5 分より古い場合、「エントリ」は期限切れになる可能性があります。モックを使用して、そのようなエントリ オブジェクトを作成します。
これはうまくいきます。次のテストでは、「期限切れ」と「期限切れでない」エントリが必要です (両方とも EntryList に追加され、「purge()」の後には期限切れでないエントリのみが残ります)。ただし、モックを設定するとクラス全体が変更されるため、そのクラスのすべてのインスタンスがモックされます。
これは失敗します。モックを設定する方法をいくつか試しましたが、うまくいきませんでした。どうすればこの問題を解決できますか?
ありがとうございました
unit-testing - JMockit および JUnit 3 を使用した Eclipse プラグイン テストの実行
JMockit を使用して、Eclispe Helios でプラグイン テスト (通常の単体テストではない) を実行しようとしています。残念ながら、モッキングは機能しません。私は得る
警告: JMockit はオンデマンドで初期化されたため、特定のテストが失敗する可能性があります。初期化するためのより良い方法については、ドキュメントを確認してください。
また、バイトコードのインスツルメンテーションは例外で失敗します。plugin-test ランチャーの VM 引数に「-javaagent:mockit.jar」を追加しました。これは役に立ちません。JMockit を実行するにはどうすればよいですか?
java - JMockit : スーパークラスのコンストラクターからコードを回避する方法
Car を拡張するクラス SportCar をテストする必要があります。問題は、テスト対象のオブジェクトを作成するときです
また、Car() などの親クラスからコンストラクターを呼び出します。これらのコンストラクターは多くのことを行い、多くの環境依存関係があり、私が持っていない多くの構成ファイルを必要とするため、継承されたコンストラクターを呼び出さずに SportCar のインスタンスを作成したいと考えています。
これについて私が知っている唯一の解決策は、コンストラクター ($init) と静的ブロック ($clinit) を上書きする車用のモックアップを作成することです。しかし今、私の問題は、私の階層に多くのクラスがある場合 (SportCar は C を拡張する B を拡張する A を拡張する Car を拡張します...)、すべてのコンストラクターを回避したい場合はどうなりますか? 以前のすべてのクラスのモックを作成する必要がありますか?
java - JMockit - 期待値と静的メソッド
メソッドをモックして、特定のオブジェクトを 1 つ返すようにしようとしています。
しかし、私は2つの問題に直面しています:
- リターン コールで「現在の呼び出しがありません」というメッセージが表示される
- 結果変数を追加しようとすると、コンパイルの問題が発生します。
私はJDK1.5を使用しています。何か案は?
spring - Spring フレームワークで JMockit と TestNG を使用する
Spring フレームワークには、jUnit および EasyMock との優れた統合があります。Spring フレームワークで JMockit と TestNG を使用した経験のある人はいますか?
java - jmockit、openJDK、UnsatisfiedLinkError
OpenJDK 6 で JMockit を使用してテストを実行しようとすると、次のエラーが発生します。
フォルダ /usr/local/openjdk6/jre/lib/amd64/ の中を調べたところ、そこにlibattach.soが見つかりました
ただし、-Djava.library.path=/usr/local/openjdk6/jre/lib/amd64を追加しても問題は解決しませんでした。他に何を試すことができますか?
java - @Mockedを使用して同じクラスを複数回モックするときのJMockitの動作
テストでクラスを1回モックする場合と、クラスを2回モックする場合で、異なる出力が得られます。@Mockedがクラスのすべてのインスタンスをモックすることは知っていますが、複数回モックすることが新しく作成されたオブジェクトの出力に影響する理由はわかりません。この動作は予想されますか?
テスト1.プリント10:
2番目のモック日付でテスト2。0を出力します:
junit - IBM J9 JVM 上の Gradle で JMockit を使用するにはどうすればよいですか?
Gradle (Milestone 8a) を使用して、IBM J9 JVM を使用してプロジェクトで JUnit テストを実行しています。「 JMockit でテストを実行する 」によれば、JVMに引数を渡す必要があります-javaagent:jmockit.jar
。ただし、JMockit はモックされたパラメーターを注入していないため、「メソッド (foo) にはパラメーターがありません)」でテストが失敗します。テストは、HotSpot JVM 上の Eclipse で正常に実行されます。
test
JAR を見つけて次のように引数を追加するjvmArgs
ようにタスクを拡張しました。
また、JMockit と JUnit をtestCompile
構成に追加し、JMockit が最初であることを確認し、次を実行してこれを確認しましたgradle dependencies
。
の出力は、パラメーターが使用されていることをgradle check --debug
確認します。-javaagent
やるべきことはすべてやったと確信しています。テストの実行に失敗するのはなぜですか?
java - MyClassは、2つのテストの間でモックされたままです
MyFirstTestとMySecondTestの2つのテストクラスがあります。それぞれを個別に実行すると正常に機能します。両方を実行すると(Eclipseでこれらのファイルを含むテストフォルダーを選択し、右クリックしてjunitとして実行します)、MyClassはテストの実行時にまだモックされているため、MySecondTestは失敗します。MyFirstTestでは、MyClassをモックする必要があります。MySecondTestでは、MyClassがモックされないようにする必要があります。私はtearDownMocksがクラスを「デモック」することになっていると思いました。
java - インターフェイスまたは汎用抽象が原因でMockitredefineMethodが機能しない
次のコードでMockitが機能しない理由を理解しようとしています。
私が返すエラーは次のとおりです。
これを修正する方法について何かアイデアはありますか?最後に、SomeService実装のメソッドではなく、MockSomeServiceImplメソッドをテストで使用するようにします。
SomeServiceはWSDLによって生成されたため、someObject.getService()が返す実装はありません。したがって、Mockit.redefineMethods(SomeServiceImpl.class、MockSomeServiceImpl.class)を実行できません。