Annotation Type ExportedTestClass


  • @Retention(CLASS)
    @Target(TYPE)
    public @interface ExportedTestClass
    Indicates that a test class present in a plugins test-jar should be run as an integration sanity test in confluence cores acceptance tests.

    The test jar will need to be added as a dependency to the appropriate test runner. See confluence-webdriver-testrunner pom.xml for instance.

    Ideally, this annotation should have RetentionPolicy.RUNTIME, but it was left at the default of CLASS. This means it can be read by classfile parsing tools, but not read via reflection (as required by the TestBatcher tool). We shouldn't change this, however, since we have a lot of plugins with compiled test-jars that uses the CLASS retention value, and we don't want to mix those up with other test-jars compiled against the same annotation with RUNTIME retention, which would get confusing since some would work with the TestBatcher and some wouldn't.

    This class should probably be deprecated and replaced with another annotation (with RUNTIME retention!) in a different maven module (one with no dependencies on Confluence itself).