[JUnit] java.lang.Exception: No runnable methods


🔒 ケースSpring Frameworkを使用してJUnit試験方法を作成した後、この試験クラスのmain方法を作成して実行すると、以下のエラーが発生します.
(JUnitのバージョンは4.7です.)
作成されたコード
    public static void main(String[] args) {
        JUnitCore.main("com.study.TestClass"); // 테스트 클래스의 경로를 파라미터로 넘김
    }
実行後エラー
JUnit version 4.7
.E
Time: 0.009
There was 1 failure:
1) initializationError(com.study.TestClass)
java.lang.Exception: No runnable methods
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:171)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:115)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:269)
at org.junit.runners.ParentRunner.(ParentRunner.java:66)
at org.junit.runners.BlockJUnit4ClassRunner.(BlockJUnit4ClassRunner.java:59)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runner.Computer.getRunner(Computer.java:38)
at org.junit.runner.Computer$1.runnerForClass(Computer.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:93)
at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:84)
at org.junit.runners.Suite.(Suite.java:79)
at org.junit.runner.Computer.getSuite(Computer.java:26)
at org.junit.runner.Request.classes(Request.java:69)
at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:98)
at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:53)
at org.junit.runner.JUnitCore.main(JUnitCore.java:45)
at com.study.TestClass.main(UserDaoTest.java:42)
FAILURES!!!
Tests run: 1, Failures: 1
Process finished with exit code 1
🔑 解決策
テストメソッドの上に作成された@Test Annotationを使用するために、正しいクラスがインポートされていることを確認します.
Before
import org.testng.annotations.Test;
After
import org.junit.Test;
その後、mainメソッドを再実行すると、コンソールに次の出力が表示されます.
JUnit version 4.7
Time: 4.286
OK (1 test)
Process finished with exit code 0
📕 に感銘を与える
Maven依存性を追加しながら試験方法を記述した結果,依存性を完全に追加する前に,人工試験を用いたために問題が発生した可能性があることが分かった.
Annotationを追加すると、私が望んでいるpathの中にあるかどうかを確認して使用すべきだと再び気づきました.