[解決済み] Java Junit4 サポート拡張ベースクラス
2022-02-11 14:18:41
質問事項
質問です。
というようなことをしたとき。
package path.to.common.package.test;
@BeforeClass
public class CommonTestSetup {
public void setUp() {
// Setup Stiff
}
}
そして、同じパッケージ内の他のクラスの設定。
package path.to.common.package.test;
public class TestTest extends CommonTestSetup {
@Test
public void testGetTestReturnsCorrectStrings() {
// do asserts etc
}
}
そして、JUnit テストを
testGetTestReturnsCorrectStrings
エラーが発生するのですが。
org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.junit.runner.manipulation.Filter':
1. No runnable methods
at org.junit.runners.ParentRunner.validate(ParentRunner.java:456)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:99)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:84)
at org.junit.runners.JUnit4.<init>(JUnit4.java:23)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:66)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:66)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:39)
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:80)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:71)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:523)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:761)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:461)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:207)
なぜでしょうか?JUnit 4 は、ベースクラスを拡張するテストクラスをサポートしていないということでしょうか?
この背後にあるアイデアは、単一のSetUpベースクラスを作成し、それを必要とする他の多くのテストクラスで共有することでした。 元々、ベースクラスを全く別のパッケージに置こうとしていたのですが、テスト用に同じパッケージに移動したところ、別のエラー(上記のもの)が発生しました。
解決方法は?
をベースに JUnitのドキュメント :
public static void no-arg メソッドに @BeforeClass を付けると、クラス内のどのテストメソッドよりも前に一度だけ実行されるようになります。
そこで
@BeforeClass
アノテーションを setUp メソッドに追加し、スタティックメソッドにします。
関連
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み】Javaの未処理例外について
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み】破損したjarファイル
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。