Aptina Unit
Aptina Unit は, Pluggable Annotation Processing API (JSR 269) を利用した注釈処理ツールの単体テストを支援する JUnit 拡張を提供します.
AptinaTestCase
AptinaTestCase
は JUnit の
TestCase
を拡張したクラスで, テストメソッドの中で
Java Compiler API (JSR 199)
を使用して実際に Java コンパイラを起動し,
注釈処理ツールの単体テストを可能にします.
テストクラスを IDE で起動すれば, Annotation Processor のデバッグも容易にできます.
注釈処理ツールのテストクラスを作成するには,
AptinaTestCase
のサブクラスを作成します.
次のサンプルは,
src/test/java
フォルダにある
TestSource.java
をコンパイルすると,
foo.bar.Baz
クラスのソースを生成する注釈処理ツール (TestProcessor) のテストクラスです.
public class TestProcessorTest extends AptinaTestCase { @Override protected void setUp() throws Exception { super.setUp(); // ソースパスを追加 addSourcePath("src/test/java"); } public void test() throws Exception { // テスト対象の Annotation Processor を生成して追加 TestProcessor processor = new TestProcessor(); addProcessor(processor); // コンパイル対象を追加 addCompilationUnit(TestSource.class); // コンパイル実行 compile(); // テスト対象の Annotation Processor が生成したソースを検証 assertEqualsGeneratedSource("package foo.bar; public class Baz {}", "foo.bar.Baz"); } }
詳細は Javadoc を参照してください.