Тестирование модулей плагина Intellij IDEA (зависимости от проекта)

У меня есть плагин Intellij IDEA, который просто находит org.jetbrains.annotations.NotNull аннотацию и отмечает его как ошибку:

 class JetBrainsNullabilityAnnotations : BaseJavaLocalInspectionTool() { ... override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { return object : JavaElementVisitor() { override fun visitAnnotation(annotation: PsiAnnotation) { super.visitAnnotation(annotation) if (annotation.qualifiedName == "org.jetbrains.annotations.NotNull") { // register problem } } } } } 

Но когда я запускаю проверку под junit test ( InspectionTestCase ) annotation.qualifiedName возвращает только NotNull (в реальной среде IDE это выражение возвращает строку org.jetbrains.annotations.NotNull ). Тестовый файл:

 import org.jetbrains.annotations.NotNull; public interface Foo { void bar(@NotNull Object object); } 

Я попытался добавить исходный код аннотации вручную, чтобы проверить проект src dir ( testData/myTestDir/src/NotNull.java ):

 package org.jetbrains.annotations; import java.lang.annotation.Annotation; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Documented @Retention(RetentionPolicy.CLASS) @Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface NotNull { String value() default ""; } 

И я попытался добавить аннотации в зависимости от модуля:

 override fun setUpModule() { super.setUpModule() PsiTestUtil.addLibrary(module, "./libs/annotations.jar") } 

Но до сих пор не удавалось получить полное имя аннотации в среде тестирования. Как правильно устанавливать зависимости?

Intereting Posts
jvm сравнение String с StringBuffer.reverse () всегда не выполняется Kotlin smart cast не работает для LinearLayout.LayoutParams SpringMVC RequestMapping: добавление xml к пути контроллера для ответа xml Как создать запрос HQL с использованием полей расширенного класса Kotlin-приемник без поля Как использовать SQLite в Kotlin / Native? Многопоточный рендеринг изображений в JavaFx / Kotlin Вызов оператора и перегрузка оператора в Котлине Есть ли способ загружать библиотеки времени выполнения, кроме того, что они помещаются в src / main / jniLibs? Как можно присвоить значение присваивания _id в Котлин? Ошибка в findViewById после обновления для компиляции версии sdk Не удалось найти метод springBoot () для аргументов – Spring Boot с использованием Kotlin Невозможно создать новый проект, используя генератор-генератор Gradle + Kotlin Andoird anko DSL – добавление текстовых просмотров и создание их «новой строки», когда нет больше ширины экрана? Как получить значение свойства с отражением