問題タブ [junit4]
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 - JUnit 4 テストで特定の例外がスローされることをどのように主張しますか?
一部のコードが例外をスローすることをテストするために慣用的に JUnit4 を使用するにはどうすればよいですか?
私は確かにこのようなことをすることができますが:
この種の状況では、アノテーションやAssert.xyz など、はるかにぎこちなく、はるかに JUnit の精神に則ったものがあることを思い出します。
java - 2 つの JUnit Assert クラスの違い
JUnit フレームワークには 2 つのAssert
クラス (明らかに異なるパッケージ) が含まれており、それぞれのメソッドは非常に似ているように見えます。これがなぜなのか説明できる人はいますか?
私が参照しているクラスは次のとおりjunit.framework.Assert
ですorg.junit.Assert
。
java - JUnit 4 の予想される例外メカニズムを使用した予期しない動作の原因は?
特定のメソッドがメソッドから予想される例外をスローすることをテストしようとしています。JUnit4のドキュメントとこの回答に従って、テストを次のように記述しました。
ただし、このコードは JUnit テストに失敗し、スローされた (そして予想される) 例外をエラーとして報告します。
私がテストしているメソッドには、本体にこれだけがあります:
さらに、次のテストに合格します。
予想される例外が実際にスローされることを意味します。
私は実際にメソッドを変更して、例外をスローするのではなく、実際に何かを実行することを計画していますが、問題の原因が何かに興味を持っています。
次のチェックが行われました。
- テスト ケースにインポートされた CannotUndoException は正しいものです
- JUnit のバージョン 4 は、私のクラスパスにある唯一のものです
- Eclipseワークスペースをクリーンアップしてビルドしても結果は変わりませんでした
私は JUnit 4.1 を使用しており、同じテストで Mockito を使用しています。
誤った障害の原因は何ですか?
junit - Junit 4にベーステストクラスを無視させる方法は?
多くのテストの基本クラスがあり、すべてのテストに必要ないくつかのヘルパー メソッドがあります。
それ自体にはテストはありませんが、JUnit (Eclipse の場合) はそのテスト ランナーを呼び出しており、テストする方法がないと文句を言っています。
このクラスを無視するにはどうすればよいですか?
dummyTest
問題を解決するメソッドを追加できることはわかっていますが、それはすべての子クラスにも表示されます。
提案?
ant - antを使用して「純粋な」JUnit4テストを実行する
JUnit4とant1.7の両方に移行しました
テストはEclipseで正常に実行されますが、antを使用してテストを実行する場合、注釈は無視されます。
Ant junitタスクのドキュメントによると:
また、アノテーションのみを使用し、JUnit4TestAdapterを使用しない「純粋な」JUnit4テストを含むJUnit4.0でも動作します。
ただし、ドキュメントでは、構成方法について詳しく説明していません。
junitタスクに必要な特別な設定はありますか?私は何かが足りないのですか?TestCaseを拡張するテスト(つまり3.8スタイル)と「純粋な」Junit 4テストの両方がありますが、それが問題になる可能性がありますか?
java - パラメーター化されたテストの名前の変更
JUnit4 でパラメータ化されたテストを使用するときに、独自のカスタム テスト ケース名を設定する方法はありますか?
[Test class].runTest[n]
デフォルト — — を意味のあるものに変更したいと思います。
unit-testing - JUnit アサーション拡張
私はよく JUnit テスト用のカスタム アサーション メソッドを作成しています。例えば:
JUnit にデフォルトで付属するものよりも幅広い範囲のアサーションを提供できる適切なサードパーティ ライブラリがあるかどうか疑問に思っていました。
JUnit 4を使用しています。
java - Junit4 + Spring 2.5 : 「NoClassDefFoundError」をスローするアサート
Spring を使用して Junit4 でテストをコーディングしてきましたが、次のようなおかしな動作が発生しました。
私のテストがこのように合格する場合、すべて問題ありません。
しかし、私のテストが失敗した場合:
次に、テストの失敗の代わりに、見苦しく不可解なスタック トレースを受け取ります。
この醜いダンプで申し訳ありませんが、問題を説明するために持っている唯一のデータです(読みやすくするために「貼り付け」ました)
私は本当に困惑しています。以前にこの種の問題に遭遇した人はいますか? 前もって感謝します!
java - JUnit 4 動的スイートの詳細を仕上げる
こんにちは – 継続的なビルドの一環として JUnit テストを自動的にスイートにスイープしたかったので、パッケージ内のすべてのテスト クラスを検索する JUnit のスイートからランナーを派生させました。ランナーは問題なく動作しますが、結果の表示は期待したほどではありません。
テスト サポート パッケージに、ランナー用の @RunWith アノテーションを含むクラスが 1 つあります。ランナーは、プロパティを読み取ってテスト対象のパッケージを取得します。プロパティを設定し、JUnit にアノテーション付きクラスを実行するように指示すると、そのパッケージ内のすべてのテストが実行されます。スイートの名前は、Ant と IntelliJ の両方で @RunWith アノテーションを持つクラスの名前として報告されます。私のランナーには、テスト中のパッケージの名前を返す ParentRunner.getName() のオーバーライドがあります。文字列がランナーの Description オブジェクトに入ることを確認しました。私は何が欠けていますか?
環境:
- JUnit: 4.5
- アリ: 1.7.0
- IntelliJ アイデア: 8.1
あなたが提供できる方向性に感謝します。
debugging - デバッガーは JMockit では動作しません
ここで誰かにとって簡単な質問であることを願っています.....
私は RAD 7.5.2 を使用しており、Junit テストを作成しています。私は JUnit 3 で問題なく記述していましたが、いくつかの関数呼び出しをモックアップしたいと考えました。そこで、jmockit 0.9.7 と Junit 4.6 をロードしました。VM 引数として -javaagent:jmockit.jar も含めます。
「Run As Junit Test」を実行しても、まったく問題はありません (少なくとも、出力には何も表示されません)。Junit の出力は良好で、コンソールにエラーは出力されません。
「Junit テストとしてデバッグ」すると、動作しません。それは私を次のように捨てます:
InstrumentationImpl.class --> ソースが見つかりません
...そして、続けるをクリックすると....
NativeMethodAccessorImpl.class --> ソースが見つかりません
...そして、続行をクリックすると...
JUnit はこの後終了します。以下をコンソールにダンプします。
スレッド「メイン」での例外 java.lang.reflect.InvocationTargetException での sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) での sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) での sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl) .java:43) at java.lang.reflect.Method.invoke(Method.java:618) at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:160) 原因: java.lang.UnsatisfiedLinkError: sun/instrument/ InstrumentationImpl.redefineClasses0([Ljava/lang/instrument/ClassDefinition;)mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:197) で sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:98) の V。再定義エンジン。mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:116) の redefineMethods(RedefinitionEngine.java:184) mockit.internal.RedefinitionEngine.setUpInternalStartupMock(RedefinitionEngine.java:53) の mockit.internal.Startupload.InternalStartupMocks(Startup.java) :123) mockit.internal.Startup.initialize(Startup.java:110) at mockit.internal.Startup.premain(Startup.java:97) ... 5 もっと見る
致命的なエラー: -javaagent の処理に失敗しました
テストで JUnit 3 と JUnit 4 の両方を問題なく実行できます。-javaagent:jmockit.jar を使用すると (デバッガーを使用します。それ自体は問題ありません)、問題が発生するため、それを実行する必要があります。 jmockitのものを使用します。
考え?