Intellij не может найти вспомогательные классы в тестовых каталогах

#java #intellij-idea

#java #intellij-идея

Вопрос:

Моя структура проекта в модуле выглядит следующим образом.

 [src]
    [java] <- production classes, marked as SOURCES
[test]
    [java] <- test and helper classes, marked as TESTS
        [com]
            [company]
                TestUtils.java
  

test/java Путь содержит JUNITS, а также вспомогательные классы, которые являются общими для разных наборов тестов. Эти вспомогательные классы не компилируются, когда путь помечен как Тесты. Он работает правильно, если я отмечаю его как источники.Это почти похоже на то, что IntelliJ ожидает найти там ТОЛЬКО модульные тесты, поэтому он игнорирует другие классы, если вы пометите их как тесты.

 Error:(48, 16) java: cannot find symbol
  symbol:   variable TestUtils
  location: class com.company.TestUtils
  

Есть ли какой-либо способ смешать этот тип вспомогательных классов в тех же каталогах, что и тесты, при этом помечая каталог как тесты в модуле? Это упростило бы мою жизнь, если бы я мог создавать тесты для классов одним действием (ctrl shift t).

Комментарии:

1. Что не компилируется? Какой класс вызывает эту ошибку? Где находится этот класс?

2. @JBNizet, любой класс, отличный от JUnit, в тестовом каталоге не компилируется. Вы можете увидеть ошибку, которую выдает компилятор cannot find symbol .

3. Пожалуйста, приведите минимальный пример. Нет теоретической причины, по которой любой класс, расположенный в test исходной папке, не может видеть ваш TestUtils класс.

4. Пожалуйста, используйте maven и придерживайтесь стандартных каталогов. Если вы делаете что-то еще, то вы просто напрашиваетесь на неприятности.