Подтвердить что ты не робот

Выполнение тестов на Intellij: класс не найден

Я оцениваю IntelliJ (13.0.2 133.696) и не могу получить тесты jUnit для запуска из среды IDE.

Мой проект представляет собой проект с несколькими модулями gradle и использует scala.

Тестовый класс находится в src/test/ scala/xxx/xxxxx/xxx/xxxx/xxxxx, и каждый раз, когда я пытаюсь запустить из IDE, я получаю ту же ошибку:

Class not found: "xxx.xxxxx.xxx.xxxx.xxxxx.AccountRepositoryTest"

Тест-класс ничего не представляет, простой тест jUnit:

@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(classes = Array(classOf[DataConfig], classOf[SettingsConfig]))
class AccountRepositoryTest extends AssertionsForJUnit {

Я нашел связанный с ним вопрос Не удалось запустить тесты Junit из IDEA 13.0 IDE для импортированных проектов gradle, но предоставленное исправление (обновление до 13.0.2) не работает.

Я даже попробовал обновить до последнего EAP, все еще та же проблема.

4b9b3361

Ответ 1

У меня была такая же проблема, и в моем случае проблема заключалась в том, что путь "Выход компилятора проекта" остался пустым в настройках проекта.

Project Structure configuration screen

Чтобы исправить это, я создал каталог classes в корне моего проекта и установил Project compiler output в абсолютный путь (используйте кнопку для просмотра).

Ответ 2

Я просмотрел некоторые из этих ответов, суетился с настройками проекта, пробовал несколько вещей и т.д., и ничего не получилось. (Полное раскрытие: я не пытаюсь манипулировать Gradle здесь, я просто использую Maven, но я не вижу, как это связано с Gradle.)

Я использую IDEA 14.

Что я нашел для работы, потому что просто казалось, что IntelliJ потерял свой путь, было следующее:

$ rm -rf .idea project-name.iml

Затем перезапустил IntelliJ и сделал File → Open → переход к корню моего проекта и т.д. - короче говоря, только что обновил мой проект.

IntelliJ преодолел это. Я, возможно, что-то испортил изначально в этом проекте, поскольку я сделал много рефакторинга как имен пакетов, так и классов, и я даже изменил название проекта. (Вероятно, это была моя вина.)

Ответ 3

Перейдите в Настройки проекта → Проект.

Заполнить вывод компилятора проекта: ех. D:\репо\Project\из

Переход к модулю → пути

Убедитесь, что:

Выходной путь похож на D:\repo\Project\out\production

тестовый выходный путь, такой как D:\repo\Project\out\test

Должен работать!

Ответ 4

Проверьте конфигурацию Run/Debug для этого теста "Используйте classpath и SDK модуля:" должен указывать на ваш модуль.

Тем временем вы должны иметь фасет Scala, и этот класс должен находиться внутри Msgstr "Проверить исходные папки".

Ответ 5

У меня была та же проблема. Я изменил путь в настройках модуля → Модули → Пути → Проверить путь вывода к моему каталогу для байт-кода тестовых классов (исключить пути вывода). Теперь все работает!

Ответ 6

Вы можете попытаться аннулировать кеш и перезапустить. Это обычно будет устранять проблемы при добавлении новых зависимостей/классов.

Ответ 7

Убедитесь, что ваш пакет тестового класса и класс, для которого вы пишете тестовый пример, не совпадают. Если оба тестовых примера и класс имеют один и тот же пакет, компилятор будет искать в папке src и игнорирует тестовую папку.

Ответ 8

Просто создайте папку тестового файла, помеченную как тестовую папку в Intellij IDEA. Это сработало для меня. Если у вас несколько каталогов с исходными файлами с тем же именем, добавьте пакет в исходный файл класса, если он отсутствует!

Ответ 9

У меня была та же проблема, Intellij не нашел тестовый выходный путь. Однако при запуске обычного приложения проблем не возникло.

Для меня исправление менялось с наследованных путей компиляции проекта, на использование путей компиляции модулей.

Настройки проекта → Модули → (Ваш модуль) → Пути (вкладка)

Измените кнопку выбора радиостанции на "Использовать путь вывода компиляции модуля". Для меня было выполнено автозаполнение, вам может потребоваться вручную установить правильный тестовый выходной путь, если автозаполнение не работает. Не забудьте применить изменения настроек.

Ответ 10

измените содержимое в теге файла модуля .iml, как показано ниже. Меня устраивает.

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
  <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
  <excludeFolder url="file://$MODULE_DIR$/target" />
</content>

Ответ 11

Перезапуск IDEA решил проблему для меня.

Ответ 12

Просто 'Build> Rebuild Project' работал для меня.

Ответ 13

Возникла та же проблема, исправленная путем воссоздания проекта в пути к каталогу, в котором не было пробелов, двоеточий, точек или других специальных символов в любом месте полного пути. Очевидно, что IntelliJ может быть привередливым к пути проекта.