У меня есть следующий вариант использования:
Я хочу провести модульное тестирование частного метода (очень хочу). Теперь есть разные подходы, но я хочу выбрать подход «сделать пакет метода закрытым».
В Гуаве есть аннотация @VisibleForTesting. Что я хочу сделать, так это: Всякий раз, когда этот метод вызывается из другого класса (конечно, в том же пакете), независимо от того, является ли он подклассом этого класса или нет, отображать предупреждение типа «Эй, чувак, метод, который ты хочешь вызвать, помечен @VisibleForTesting, ты уверен, что хочешь назвать?».
Я немного поигрался с таможенные проверки, но пока безуспешно. У кого-нибудь есть идея?
Нет, ты меня неправильно понял. ;)




Нет необходимости в таможенном досмотре, необходимый досмотр встроен. Перейти к
Preferences | Editor | Inspections и включить проверку
Java | General | Test-only class or method call in production code. Теперь вы получите предупреждение, если попытаетесь вызвать участников с аннотацией @VisibleForTesting из производственного кода, но не из тестового кода.
Дополнительный вопрос: проверка работает хорошо, и я получаю предупреждение или ошибку, в зависимости от моих настроек. Но: возможно ли даже получить ошибку компиляции, когда эта проверка что-то находит? В настоящее время нет ошибка компиляции, даже когда я настроил проверку на отображение ошибки вместо предупреждения.
В настоящее время нет возможности сделать это. Вы можете проголосовать за Эта проблема.
Есть ли способ настроить IntelliJ для аналогичной проверки, но для методов с моей собственной аннотацией @VisibleForTesting, а не с гуавой?
Нет, для этого нет возможности настроить проверку. Отправьте запрос функции: youtrack.jetbrains.com/issues
гм ... этот вариант использования не должен быть даже возможен, поскольку тестовые классы должны быть полностью отделены от классов приложений. Пожалуйста скажи мне, что ты не смешивал тестовые классы с обычными классами