Я только начинаю программу информатики в своем колледже, и у меня есть некоторые проблемы с IntelliJ. Когда я пытаюсь запустить модульные тесты, я получаю сообщение
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
Я также вижу сообщение под названием «Тесты не найдены» в левой части экрана. Мой тестовый код здесь:
package edu.macalester.comp124.hw0;
import org.junit.Test;
import static org.junit.Assert.*;
public class AreaTest {
@Test
public void testSquare() {
assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
}
@Test
public void testCircle() {
assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
}
}
И мой код проекта здесь:
package edu.macalester.comp124.hw0;
import java.lang.Math;
public class Area {
/**
* Calculates the area of a square.
* @param sideLength The length of the side of a square
* @return The area
*/
public static double getSquareArea(double sideLength) {
// Has been replaced by correct formula
return sideLength * sideLength;
}
/**
* Calculates the area of a circle.
* @param radius The radius of the circle
* @return The area
*/
public static double getCircleArea(double radius) {
// Replaced by correct value
return radius * 2 * Math.PI;
}
}
Как я могу заставить мои тесты работать? Я использую самую последнюю версию IntelliJ IDEA CE.
java
unit-testing
intellij-idea
junit
arnbobo
источник
источник
mvn clean package
в терминале. Не уверены, почему IntelliJ импортировал проект неправильно в начале.Ответы:
Было то же сообщение. Мне пришлось удалить конфигурацию Run / Debug.
В моем случае я запускал юнит-тест как локальный тест раньше. После этого я переместил свой тест в пакет androidTest и попытался запустить его снова. Android Studio запомнила последнюю конфигурацию запуска, поэтому она пыталась запустить ее снова в качестве локального модульного теста, который выдал ту же ошибку.
После удаления конфига и повторного запуска теста он сгенерировал новую конфигурацию и заработал.
источник
File > Cashes / Restart
я пошел в
и тогда это сработало для меня.
источник
Я была такая же проблема. Я перестроил проект, и он мне помог.
Перейти в Build -> Rebuild Project
После этого, если вы используете инструмент Maven, я рекомендую использовать опцию Reimport All Maven Projects
Если это не поможет, попробуйте другие возможные решения:
или:
Аналогичным образом сделайте то же самое с тестовым каталогом, так: src / test / java щелкните правой кнопкой мыши на каталоге java и выберите опцию Пометить каталог как -> Тестовые источники Root
или:
или:
Проверьте опции:
переключатель Кнопка Использовать выходной путь компиляции модуля должен быть выбран.
Выходной путь должен быть внутри вашего проекта. Также Test output path должен быть каталогом внутри вашего проекта. Например, он может выглядеть аналогично:
Выходной путь: C: \ path \ to \ your \ module \ yourModule \ target \ classes
Test Выходной путь теста: C: \ path \ to \ your \ module \ yourModule \ target \ test-classes
Исключить выходные данные пути должны быть отменены.
источник
Build -> Rebuild Project
) было то, что работало для меня. Спасибо!<project-root>/src/test/java
качестве тестового рута, и уBuild -> Rebuild Project
меня сработало. Также, когда классы, содержащие тесты, были в пакете с именем пакета, начинающимся сjava.*
, я получил исключение безопасности.Это также может произойти, если ваша тестовая папка была импортирована как отдельный модуль (на значке папки в представлении проекта отображается небольшой квадрат).
Удалите модуль, выбрав тестовую папку в представлении проекта и нажмите DEL.
Тогда начни свой тест.
Если появляется всплывающее диалоговое окно с сообщением об ошибке, что модуль не выбран, укажите корневой модуль из раскрывающегося списка.
источник
У меня была похожая проблема после запуска нового проекта IntelliJ. Я обнаружил, что «выходной путь компиляции модуля» для моего модуля не был указан правильно. Когда я назначил путь в модуле «путь вывода компиляции» в правильное местоположение, проблема была решена. Выходной путь компиляции назначается в настройках проекта. В разделе Модули выберите соответствующий модуль и перейдите на вкладку Пути ...
Вкладка Пути в настройках проекта | Диалог модулей
... Я отправил вывод компилятора в папку с именем «output», которая присутствует в родительской папке Project.
источник
В моем случае все остальное было в нужном месте, но я работал над java-библиотекой с kotlin . Я просто забыл применить плагин:
И теперь он работает, как и ожидалось.
источник
Итак, моя проблема здесь была с именами папок. Я назвал свою папку с кодами Classes 2016/2017, что IntelliJ не понравилось. Просто удалите косую черту (или другой оскорбительный символ в пути), повторно импортируйте проект, и все будет хорошо!
источник
В Android Studio 3.0+ тесты пользовательского интерфейса иногда интерпретируются как модульные тесты и не требуют выбора целевого развертывания. Вы можете перейти к редактированию конфигурации и пометить его как интеграционный тест, и он начнет работать
источник
У меня была та же проблема, и восстановление / аннулирование кэша и т. Д. Не работало. Похоже, это просто ошибка в Android Studio ...
Временное решение - просто запустить свои модульные тесты из командной строки:
Смотрите: https://developer.android.com/studio/test/command-line.html
источник
Если у проекта есть проблема с компиляцией, то тесты могут не запускаться. Итак, сначала соберите проект как Build -> Build Project. После успешной компиляции повторите тест.
Если ничего не получится, просто закройте окно проекта, удалите проект и повторно импортируйте как проект Gradle / Maven, который установит все для вас, переопределив существующие файлы, созданные IntelliJ. Это приведет к удалению неверного созданного кэша.
Вы также можете просто сделать недействительным кеш.
File -> Invalidate Caches/Restart
источник
У меня был тот же вопрос, когда я импортирую некоторые
jar
из Maven, и впоследствии, вызываетempty-test-suite
ошибку.В моем случае это было из-за того, что maven сбрасывал файлы модуля. Что я решил, очистив мою конфигурацию по умолчанию:
источник
Реимпорт проекта или модуля может решить проблему. Я сделал эту проблему, переименовывая имя пакета при разработке. Но выходной путь и выходной тестовый путь - это старый путь. Так что Intellij не может найти класс по старому пути. Таким образом, самый простой способ - исправить выходной путь и проверить выходной путь.
источник
У меня была та же проблема (Android Studio 3.2 Canary 4), и я попробовал большинство предложений, описанных в других ответах - безуспешно. Обратите внимание , это произошло после того, как я переехал из файла
test
вandroidTest
папке. Он все еще показывался в конфигурациях прогона как тест, а не как инструментальный тест.Я, наконец, в конечном итоге с созданием нового файла:
источник
Интересно, что я сталкивался с этой проблемой много раз по разным причинам. Например, Invalidating кеш и перезапуск также помогли.
Последнее, что я исправил, исправив выходной путь в Файл -> Структура проекта -> Проект -> Вывод компилятора проекта в: absolute_path_of_package / out
например: / пользователи / random-guy / myWorkspace / src / DummyProject / out
источник
Это также произойдет, если ваш module- и / или project-jdk не настроен должным образом.
источник
Удаление
.idea
и повторный импорт проекта SBT решили эту проблему для меня.источник
В моем случае IntelliJ не скомпилировал тестовые источники по странной причине. Я просто изменил конфигурацию сборки и добавил цель maven
clean test-compile
вBefore launch
разделисточник
В моем случае возникла проблема с именем теста :).
Если имя было:
dummyNameTest
тогда не получайте тесты там, где нашли, но еслиtestDummyName
все было в порядкеисточник
Я была такая же проблема. В моем случае у меня было несколько тестовых классов в пакете / папке за пределами основной папки. Но когда я проверял конфигурацию Run, он всегда пытался найти классы внутри главной папки (а не мои пакеты вне main). Так что, если это так, вы должны либо переместить ваши пакеты туда, куда указывает конфигурация запуска. Или измените конфигурацию запуска так, чтобы она указывала на ваши пакеты.
источник
Для вашего теста требуется устройство Android (эмулятор или аппаратное обеспечение)?
Если это так, он называется «инструментальным тестом» и находится в «module-name / src / androidTest / java /».
Если нет, он называется «локальный модульный тест» и находится в «module-name / src / test / java»
https://developer.android.com/training/testing/start/index.html
Я получил ту же ошибку, потому что я написал локальный модульный тест, но он был помещен в папку для инструментальных тестов. Перемещение локального тестового модуля в папку «src / test / java» исправило это для меня.
источник
Получал ту же ошибку. Мое устройство не было подключено к Android Studio. Когда я подключился к студии. Оно работает. Это решает мою проблему.
источник
Вероятно, это связано с тем, что папка не установлена в качестве источника тестирования, что можно сделать через «Настройки модуля»> «Модули».
источник
Для меня проект был составлен вне проекта. Я просто меняю путь. Для изменения пути (я использую Mac).
источник
В моем случае проблема была решена, зайдя в мой
build.gradle
и изменивв
источник
Я перепробовал все решения, но ни одно из них не помогло. В конце я запускаю тест в режиме отладки и .... он начал работать. Может быть, кэш какого-то мавена был очищен. Сложно сказать. Оно работает. Пытаться
mvn test -X
источник
Просто щелкните правой кнопкой мыши по файлу в окнах проектов и выберите
«Запустите YourTest ».
Теперь все начинается нормально, возможно потому, что неправильная конфигурация запуска перестраивается заново.
источник
Это может произойти (хотя бы один раз для меня;) после установки новой версии IntelliJ, а плагины IntelliJ еще не обновлены.
Возможно, вам придется сделать это вручную
Check for updates…
из меню справки IntelliJ.источник
В структуре вашего проекта Maven src / main / java щелкните правой кнопкой мыши на каталоге java и выберите опцию Пометить каталог как -> Sources Root
Аналогичным образом проделайте то же самое с тестовой директорией: src / test / java щелкните правой кнопкой мыши на директории java и выберите опцию Пометить директорию как -> Тестовые источники Root
Работал на меня :-)
источник
выполните следующие шаги в Intellij (со скриншотами для лучшего понимания):
перейдите к модулям и теперь выберите модуль, в котором присутствует ваш тестовый файл Junit, и установите переключатель «Использовать выходной путь компиляции модуля».
Упомяните путь к папке с соответствующими классами, как на скриншоте.
источник
Та же проблема здесь с использованием IDEA 15.0.6, и ничто не помогло, за исключением случаев, когда я переименовал пакет, в котором находился тестовый класс. После этого я переименовал его обратно в исходное имя, и оно все еще работало, поэтому действие переименования могло очистить некоторый кэш.
источник