Я пытаюсь запустить тесты проекта Kotlin в IDEA 2021.3.3 Community Edition (debian Linux), посмотрите видео https://ibb.co/cb8jhfW Я получил ошибку «No junit.jar» и следующую трассировку стека в консоли:
com.intellij.execution.junit.JUnitUtil$NoJUnitException: No junit.jar
at com.intellij.execution.junit.JUnitUtil.checkTestCase(JUnitUtil.java:393)
at com.intellij.execution.junit.TestPackage.createJavaParameters(TestPackage.java:230)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:865)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
at com.intellij.execution.configurations.JavaCommandLineState.getJavaParameters(JavaCommandLineState.java:44)
at com.intellij.execution.impl.DefaultJavaProgramRunner.patchJavaCommandLineParams(DefaultJavaProgramRunner.java:137)
at com.intellij.execution.impl.DefaultJavaProgramRunner.lambda$doExecuteAsync$5(DefaultJavaProgramRunner.java:163)
at com.intellij.execution.target.TargetEnvironmentAwareRunProfileState$1.run(TargetEnvironmentAwareRunProfileState.java:58)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:436)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:120)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:496)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:244)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:244)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:832)
В то же время некоторые тесты из подмодуля того же проекта работают хорошо (например, модуль integration_test). Не могли бы вы сказать, что происходит?
УПД Я записал видео о своей проблеме, посмотрите пожалуйста https://ibb.co/LS95PCN
Похоже, что у родительского модуля нет ни самих тестов, ни подключенного junit. Вы можете изменить конфигурацию запуска для поиска «во всем проекте» (согласно видео, у вас есть «В одном модуле»), тогда IDEA должна найти все тесты.
Используйте «во всем проекте» для запуска тестов из подмодулей при запуске родительского модуля. Кроме того, ранее у вас могла быть опция «все в каталоге». Теперь в вашем видео «все в пакете». См. справочную док-станцию здесь jetbrains.com/help/idea/…, надеюсь, это поможет
Скажите, пожалуйста, в чем разница между "все в пакете" и "все в каталоге". Пока я даже не могу определить количество тестов во всем проекте.
На самом деле мне нужно запустить все тесты в проекте, и когда я запускаю их один модуль за другим, я нашел 290 тестов. И когда я прогнал их через конфигурацию "Весь проект" ("все в пакете"), я нашел 293 теста. Что это за 3 теста, я не знаю :( Как убедиться, что ВСЕ тесты проекта пройдены??
у него нет самого теста, но есть некоторые из его подмодулей: untegration_tests, регулирование/regulation-core, validation/validation-core. Раньше можно было запустить их все из корневого модуля, но что-то сломалось