name.falgout.jeffrey.testing:annotation-processor-testing-tests

An easier way to verify annotation processor diagnostics.

Лицензия

Лицензия

MIT License
Группа

Группа

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

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

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

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

0.2.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

An easier way to verify annotation processor diagnostics.

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

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

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

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
name.falgout.jeffrey.testing : annotation-processor-testing jar 0.2.0

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

Данный проект не имеет модулей.

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