問題タブ [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.

0 投票する
34 に答える
1581372 参照

java - JUnit 4 テストで特定の例外がスローされることをどのように主張しますか?

一部のコードが例外をスローすることをテストするために慣用的に JUnit4 を使用するにはどうすればよいですか?

私は確かにこのようなことをすることができますが:

この種の状況では、アノテーションやAssert.xyz など、はるかにぎこちなく、はるかに JUnit の精神に則ったものがあることを思い出します。

0 投票する
6 に答える
39160 参照

java - 2 つの JUnit Assert クラスの違い

JUnit フレームワークには 2 つのAssertクラス (明らかに異なるパッケージ) が含まれており、それぞれのメソッドは非常に似ているように見えます。これがなぜなのか説明できる人はいますか?

私が参照しているクラスは次のとおりjunit.framework.Assertですorg.junit.Assert

0 投票する
4 に答える
3142 参照

java - JUnit 4 の予想される例外メカニズムを使用した予期しない動作の原因は?

特定のメソッドがメソッドから予想される例外をスローすることをテストしようとしています。JUnit4のドキュメントとこの回答に従って、テストを次のように記述しました。

ただし、このコードは JUnit テストに失敗し、スローされた (そして予想される) 例外をエラーとして報告します。

私がテストしているメソッドには、本体にこれだけがあります:

さらに、次のテストに合格します。

予想される例外が実際にスローされることを意味します。

私は実際にメソッドを変更して、例外をスローするのではなく、実際に何かを実行することを計画していますが、問題の原因が何かに興味を持っています。

次のチェックが行われました。

  • テスト ケースにインポートされた CannotUndoException は正しいものです
  • JUnit のバージョン 4 は、私のクラスパスにある唯一のものです
  • Eclipseワークスペースをクリーンアップしてビルドしても結果は変わりませんでした

私は JUnit 4.1 を使用しており、同じテストで Mockito を使用しています。

誤った障害の原因は何ですか?

0 投票する
6 に答える
50588 参照

junit - Junit 4にベーステストクラスを無視させる方法は?

多くのテストの基本クラスがあり、すべてのテストに必要ないくつかのヘルパー メソッドがあります。

それ自体にはテストはありませんが、JUnit (Eclipse の場合) はそのテスト ランナーを呼び出しており、テストする方法がないと文句を言っています。

このクラスを無視するにはどうすればよいですか?

dummyTest問題を解決するメソッドを追加できることはわかっていますが、それはすべての子クラスにも表示されます。

提案?

0 投票する
9 に答える
28693 参照

ant - antを使用して「純粋な」JUnit4テストを実行する

JUnit4とant1.7の両方に移行しました

テストはEclipseで正常に実行されますが、antを使用してテストを実行する場合、注釈は無視されます。

Ant junitタスクのドキュメントによると:

また、アノテーションのみを使用し、JUnit4TestAdapterを使用しない「純粋な」JUnit4テストを含むJUnit4.0でも動作します。

ただし、ドキュメントでは、構成方法について詳しく説明していません。

junitタスクに必要な特別な設定はありますか?私は何かが足りないのですか?TestCaseを拡張するテスト(つまり3.8スタイル)と「純粋な」Junit 4テストの両方がありますが、それが問題になる可能性がありますか?

0 投票する
13 に答える
88678 参照

java - パラメーター化されたテストの名前の変更

JUnit4 でパラメータ化されたテストを使用するときに、独自のカスタム テスト ケース名を設定する方法はありますか?

[Test class].runTest[n]デフォルト — — を意味のあるものに変更したいと思います。

0 投票する
4 に答える
1923 参照

unit-testing - JUnit アサーション拡張

私はよく JUnit テスト用のカスタム アサーション メソッドを作成しています。例えば:

JUnit にデフォルトで付属するものよりも幅広い範囲のアサーションを提供できる適切なサードパーティ ライブラリがあるかどうか疑問に思っていました。

JUnit 4を使用しています。

0 投票する
3 に答える
2598 参照

java - Junit4 + Spring 2.5 : 「NoClassDefFoundError」をスローするアサート

Spring を使用して Junit4 でテストをコーディングしてきましたが、次のようなおかしな動作が発生しました。

私のテストがこのように合格する場合、すべて問題ありません。

しかし、私のテストが失敗した場合:

次に、テストの失敗の代わりに、見苦しく不可解なスタック トレースを受け取ります。

http://pastie.org/429912

この醜いダンプで申し訳ありませんが、問題を説明するために持っている唯一のデータです(読みやすくするために「貼り付け」ました)

私は本当に困惑しています。以前にこの種の問題に遭遇した人はいますか? 前もって感謝します!

0 投票する
2 に答える
1515 参照

java - JUnit 4 動的スイートの詳細を仕上げる

こんにちは – 継続的なビルドの一環として JUnit テストを自動的にスイートにスイープしたかったので、パッケージ内のすべてのテスト クラスを検索する JUnit のスイートからランナーを派生させました。ランナーは問題なく動作しますが、結果の表示は期待したほどではありません。

テスト サポート パッケージに、ランナー用の @RunWith アノテーションを含むクラスが 1 つあります。ランナーは、プロパティを読み取ってテスト対象のパッケージを取得します。プロパティを設定し、JUnit にアノテーション付きクラスを実行するように指示すると、そのパッケージ内のすべてのテストが実行されます。スイートの名前は、Ant と IntelliJ の両方で @RunWith アノテーションを持つクラスの名前として報告されます。私のランナーには、テスト中のパッケージの名前を返す ParentRunner.getName() のオーバーライドがあります。文字列がランナーの Description オブジェクトに入ることを確認しました。私は何が欠けていますか?

環境:

  • JUnit: 4.5
  • アリ: 1.7.0
  • IntelliJ アイデア: 8.1

あなたが提供できる方向性に感謝します。

0 投票する
1 に答える
2028 参照

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のものを使用します。

考え?