問題タブ [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.
junit4 - junit.framework.TestCase から拡張すると、junit テスト ケースが 3.x のように扱われるのはなぜですか
junit 4.X ランナーを使用してテスト ケースを実行しようとしていますが、junit.framework.TestCase から拡張すると 3.x のように扱われます。
現在のテスト フレームワークの基本テスト クラスが junit.framework.TestCase から拡張されているため、これを行う必要がありました。
java - 従来の assertXXX() メソッドの代わりに Hamcrest-Matcher と assertThat() を使用する理由
Assert class JavaDoc の例を見ると
私は大きな利点を見ていませんassertEquals( 0, 1 )
.
コンストラクトがより複雑になった場合、メッセージにとっては良いことかもしれませんが、より多くの利点が見られますか? 読みやすさ?
scala - JUnitSuite と組み合わせると、FeatureSpec 構造が出力に表示されない
JUnit または ScalaTest でクラスを実行する Scala の機能を使用しようとしています。FeatureSpec の例を取り上げ、JUnitSuite を使用した例と組み合わせました。JUnitSuite と組み合わせると、出力 (コンソール) に Scalatest.FeatureSpec 構造体の given/when/then 出力を生成する際に問題が発生します。ありとあらゆるフィードバックをいただければ幸いです。これが可能かどうかを知る必要があります。前もって感謝します。
コード:
このバージョンの ExampleSpecTest を実行すると、次の出力が得られます。
期待される所定の時間/時間/時間の出力がレポートに表示されません
期待される:
ant - JUnit4 で実行される Ant PDE テスト
pde-maven-plugin、maven 呼び出し、または ant タスクを使用して、pde テストを自動化しようとしています。Ant を使用した Eclipse PDE 単体テストの自動化の記事の指示に従って、test.xml を作成しました。
テストが失敗しました。最初はテストが見つからないためです
検索して、使用する必要があることがわかりましたがJUnit4Adapter
、それを行うとClassCastException
、スタックトレースが得られました
プラグインの依存関係は次のとおりです。
そしてテストクラス
修正方法はありますか?
maven-2 - Maven Surefire レポートに、スイートではなく複数のクラス エントリが表示される
Maven の確実なレポート ジェネレーターを構成して、クラス A、B、および C をテストするテスト スイートのエントリを 1 つ含めるように依頼されましたが、次のように表示される代わりに: A B C MySuite I see this A B C A B C
したがって、実際には 2 つの問題があります。1) 2 回実行されているテストを停止するにはどうすればよいですか。2) クラスまたはスイートごとに 1 つのエントリを表示するレポートを取得するにはどうすればよいですか。
なぜこれがそれほど重要なのかと尋ねるかもしれません。答えは、アーキテクトは「コンポーネント」全体を網羅し、そのレポートに 1 つのエントリを表示する 1 つのテストを見たいと思っているためです。私はテストを 2 回実行したくありません (またはそれ以上)。 ) 回。
よろしくお願いいたします。
CM
java - Ant + JUnit4 ClassDefNotFoundException - クラスパスの問題?
[編集]アリの初心者である私が行った小さな間違いを解決しました。<classpath refid="my.classpath"/>
テスト ターゲットでは、代わりに である必要があり<classpath id="my.classpath"/>
ます。それは明らかに、定義したクラスパス プロパティを上書きしました。これにより、ant がライブラリを見つけられないことが明らかになります。私へのメモ: rtfm![/編集]
まず最初に、Ant 1.7.1 と JUnit 4.7 を使用しています。
これは今かなりの数時間私を悩ませています。私は Netbeans プロジェクト (6.7.1) を持っています。テスト ソースを追加したプロジェクトで、今度は ant からテストを呼び出したいと思います。だから私は次のantファイルを持っています:
私のアプローチは、これまでのところ次のテスト クラスのみを保持する test.dir フォルダー内の (さらに多くの) テストファイルをバッチテストすることです。
テスト ファイルはtest
フォルダ内にありますが、実際のソースはsrc
フォルダ内にあります。これは、NetBeans がデフォルトで構造を処理する方法であるためです。
Ant はClassDefNotFoundException
JUnit タスクのテスト ファイルを提供してくれますが、クラスは目的のフォルダーにあります。ここで概念的に何かが欠けていますか?
編集:
junit レポートで作成された例外トレースは次のとおりです。
java - JUnit テストが Eclipse で実行され、アノテーションが予期されていてもエラーが返される
(これは、これに対するフォローアップの質問です。)
Eclipse での JUnit4 テストに問題があります。@Test(expected=...) アノテーションを使用して、例外のスローを単体テストしようとしています。問題は、テストを実行すると、例外がスローされることを期待しているにもかかわらず、合格ではなくエラーとして返されることです。
私はEclipse 3.4.0とJUnit 4.3.1を使用しています。
コードは次のとおりです。
テストするクラス:
例外:
テストケース:
java - JUnit4 にアップグレードし、レガシー JUnit 3 テストとテスト スイートを一緒に実行して保持する
ここまで答えが見つからないことに驚きました。何か基本的なことが欠けている場合は、それを知っていただければ幸いです。
Java 6 (1.4 から) にアップグレードされた大規模なレガシー コード ベースがあります。コードには多数の JUnit 3 テストが存在し、Eclipse の JUnit 4 デフォルト ランナーで正常に実行されるテスト スイートに編成されています。
現在、純粋な JUnit 4 テスト (注釈、TestCase なしなど) である新しいテストを追加しています。古い JUnit 3 テスト スイートと新しい JUnit 4 テストを一緒に実行するにはどうすればよいでしょうか?
java - スイートを使用する場合の JUnit 4 @BeforeClass & @AfterClass
以下のこのアプローチを使用する場合は、スイートで jUnit をセットアップします。テストの実行が開始される前に、すべての Testclass のすべての @BeforeClass が実行されるときに問題が発生しました。(n 個の TestClass ファイルごとに @BeforeClass が実行され、実行後、最初の MyTest.class ファイル @Test の実行が開始されます)
これにより、多くのリソースとメモリが割り当てられます。私の考えでは、スイートの起動時ではなく、実際のテストクラスが実行される前にのみ各 @BeforeClass を実行するべきではありませんか?
java - Maven2がJUnit4テストを実行していない
Junit4テストを確実に実行するための問題が発生しています。これと同じ問題がhttps://stackoverflow.com/questions/2021771?sort=newest#sort-topで報告されましたが、その解決策は、推移的な依存関係によってjunit3が含まれる原因となった問題のある依存関係を削除することでした。私の場合、依存関係が必要です。私はjunit3への推移的な依存関係を除外して、surefire:testクラスパスに含まれないようにする方法を理解しようとしています。
以下は私のpom.xmlと「mvn-Xtest」からの出力です。pom.xmlは「exclusion」要素を使用しようとしますが、それは役に立たないようです。Mavenがテストクラスパスにjunit3を追加する下部近くに注目してください。