問題タブ [junit-jupiter]
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.
junit - JUnit5 での TestSuite の使用
私は、同じコードで似たようなタイプのクラスをテストするのが好きなので、何かをすることを忘れません。JUnit4 (技術的には Junit3) を使用して、次のようなクラスを作成しました。
ただし、純粋な JUnit4 ではそのようなものを実装できませんでしたが、JUnit5 でもそのようなものは見つかりません。
テスト スイートを使用して一連のテストを動的に作成する方法はありますか? testEqualsReturnsTrueForSameObject()
" " 失敗するよりも " " 失敗する方がはるかに役立つため、テストはできるだけ小さくしたいと考えていますtestPojo()
。
java - JUnit4 テスト ケース スイートに相当する JUnit Jupiter
Eclipse を使用して、JUnit Jupiter で JUnit4 テスト ケース スイートに相当するものを作成する方法を見つけようとしています。
たとえば、JUnit 4 に次のテスト ケース スイートがあるとします。
すべてのテストが JUnit Jupiter に移植されていると仮定すると、JUnit Jupiter で同等のスイートを作成するにはどうすればよいですか?
datatypes
上記のクラスを含むパッケージは次のとおりです。
ただし、JUnit4 テスト ケース スイートを実行するのと同じ方法で (「JUnit テストとして実行」と言って) これを実行しようとすると、次のエラー メッセージが表示されます。
ここで何が間違っていますか?JUnit 4を使用すると、これは正常に機能します。
編集:
私はこれを詳しく調べて、この興味深い部分を追加したいと思いました: I can really import org.junit.runner.Description
、これは正常に動作し、メソッドを正常に呼び出すcreateSuiteDescription
ことができます。どうやら、何らかの理由でメソッドが間違った型のパラメーターで呼び出されているようです。関数のシグネチャは次のとおりです。
ただし、エラーメッセージによると、次のパラメーターで呼び出されます。
これは明らかに外部クラスで呼び出されJUnitPlatformTestTree.java:108
ます。これらは互換性のないバージョンである可能性がありますか? もしそうなら、互換性のあるバージョンは何ですか。
ただし、JUnitPlatformTestTree.java のエラー行を確認すると、関数が正しいパラメータで呼び出されているようです。
次のgradleインポートを使用しています:
編集2:
さて、これをさらに追跡したところ、gradle には、インポートするとすべてが台無しになるように見える次の依存関係があることがわかりました。
その依存関係をコメントアウトすると、テスト ケース スイートのエラーが消えます。ただし、プロジェクトには json.simple の JSONObject と JSONArray が必要なため、プロジェクトの大部分が機能しなくなります。
これは非互換性エラーのようです。何が原因で、どうすれば回避できますか?