Итак, я проводил тестирование jUnit и хотел написать отдельные классы, которые имели бы схожую функциональность, но были бы достаточно маленькими, чтобы их можно было писать в одном классе. Независимо от решения по дизайну, это привело меня к ошибке компилятора. Я не уверен, каковы правила того, что я увидел.
Вы можете себе представить, что это будет выглядеть примерно так< /p>
Код: Выделить всё
package foo;
@RunWith(Suite.class)
@SuiteClasses({ TestClassOne.class, TestClassTwo.class })
public class TestSuite{
@RunWith(SpringJUnit4ClassRunner.class)
public static class TestClassOne{
}
@RunWith(SpringJUnit4ClassRunner.class)
public static class TestClassTwo{
}
}
Теперь, когда компилятор выкинет его, он скажет: TestClassOne не может быть преобразован в тип. Есть простой способ решить эту проблему. Например, для этого потребуется явный импорт статического класса.
Код: Выделить всё
import foo.TestSuite.TestClassOne;
import foo.TestSuite.TestClassTwo;
Мой вопрос: может ли кто-нибудь объяснить, какие правила компилятора или причины могут быть, по которым аннотации не могут видеть статический внутренний класс класса. Имейте в виду, что частный класс пакета нормально воспринимается и компилируется без импорта.
Подробнее здесь:
https://stackoverflow.com/questions/480 ... nnotations