annotation-processor-testing

An easier way to verify annotation processor diagnostics.

Лицензия

Лицензия

Группа

Группа

name.falgout.jeffrey.testing
Идентификатор

Идентификатор

annotation-processor-testing-parent
Последняя версия

Последняя версия

0.2.0
Дата

Дата

Тип

Тип

pom
Описание

Описание

annotation-processor-testing
An easier way to verify annotation processor diagnostics.
Ссылка на сайт

Ссылка на сайт

https://github.com/JeffreyFalgout/annotation-processor-testing
Система контроля версий

Система контроля версий

https://github.com/JeffreyFalgout/annotation-processor-testing

Скачать annotation-processor-testing-parent

Имя Файла Размер
annotation-processor-testing-parent-0.2.0.pom 5 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/name.falgout.jeffrey.testing/annotation-processor-testing-parent/ -->
<dependency>
    <groupId>name.falgout.jeffrey.testing</groupId>
    <artifactId>annotation-processor-testing-parent</artifactId>
    <version>0.2.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/name.falgout.jeffrey.testing/annotation-processor-testing-parent/
implementation 'name.falgout.jeffrey.testing:annotation-processor-testing-parent:0.2.0'
// https://jarcasting.com/artifacts/name.falgout.jeffrey.testing/annotation-processor-testing-parent/
implementation ("name.falgout.jeffrey.testing:annotation-processor-testing-parent:0.2.0")
'name.falgout.jeffrey.testing:annotation-processor-testing-parent:pom:0.2.0'
<dependency org="name.falgout.jeffrey.testing" name="annotation-processor-testing-parent" rev="0.2.0">
  <artifact name="annotation-processor-testing-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='name.falgout.jeffrey.testing', module='annotation-processor-testing-parent', version='0.2.0')
)
libraryDependencies += "name.falgout.jeffrey.testing" % "annotation-processor-testing-parent" % "0.2.0"
[name.falgout.jeffrey.testing/annotation-processor-testing-parent "0.2.0"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

  • annotation-processor-testing
  • annotation-processor-testing-junit4
  • annotation-processor-testing-junit5
  • annotation-processor-testing-tests

annotation-processor-testing

An easy way to verify that your annotation processor is emitting the right diagnostics.

Setup

In order to use any of the test runners, you must include your test sources as a resource:

<build>
...
<testResources>
  <testResource>
    <directory>src/test/java/</directory>
  </testResource>
  <testResource>
    <directory>src/test/resources/</directory>
  </testResource>
</testResources>
...
</build>

Additionally, you may need to disable annotation processing during test compilation if you are testing ERROR diagnostics.

<build>
...
<plugins>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-compiler-plugin</artifactId>
 <executions>
   <execution>
     <id>default-testCompile</id>
     <goals>
       <goal>testCompile</goal>
     </goals>
     <configuration>
       <proc>none</proc>
     </configuration>
   </execution>
 </executions>
</plugins
...
</build>

Usage

Annotate your test class with @UseProcessor, @ExpectError, and @ExpectDiagnostic:

@UseProcessor(YourProcessor.class)
public class YourProcessorTest {
  @ExpectError @IncorrectlyUsedAnnotation
  public void method() {}

  @ExpectError("substring of the message") @IncorrectlyUsedAnnotation
  public void method1() {}

  @ExpectError(lineOffset = 1) // Expect a diagnostic on the next line.
  @IncorrectlyUsedAnnotation
  public void method2() {}

  @ExpectError(value = "[abc]+", regex = true) @IncorrectlyUsedAnnotation
  public void method3() {}

  @ExpectError(testName = "descriptive JUnit test name") @IncorrectlyUsedAnnotation
  public void method4() {}

  // No @Expect annotation needed.
  @CorrectlyUsedAnnotation
  public void method5() {}
}

JUnit 4

Maven Central

Add @RunWith(DiagnosticTester.class) to your test class.

JUnit 5

Maven Central

Ensure that annotation-processor-testing-junit5 is included as a dependency, and the JUnit 5 launcher should automatically discover your tests.

Версии библиотеки

Версия
0.2.0
0.1.0