About

Aptina Unit

プロジェクト文書

Built by Maven

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 を参照してください.