#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 и придерживайтесь стандартных каталогов. Если вы делаете что-то еще, то вы просто напрашиваетесь на неприятности.