Annotation Interface WithJenkinsConfiguredWithCode
@Target({TYPE,METHOD})
@Retention(RUNTIME)
@Documented
@ExtendWith(io.jenkins.plugins.casc.misc.junit.jupiter.JenkinsConfiguredWithCodeExtension.class)
public @interface WithJenkinsConfiguredWithCode
JUnit 5 meta annotation providing
JenkinsRule integration.
Test methods using the rule extension need to accept it by JenkinsRule parameter;
each test case gets a new rule object.
An annotated method without a JenkinsRule parameter behaves as if it were not annotated.
Annotating a class provides access for all of its tests. Unrelated test cases can omit the parameter.
@WithJenkinsConfiguredWithCode
class ExampleJUnit5Test {
@Test
public void example(JenkinsConfiguredWithCodeRule r) {
// use 'r' ...
}
@Test
public void exampleNotUsingRule() {
// ...
}
}
Annotating a method limits access to the method.
class ExampleJUnit5Test {
@WithJenkinsConfiguredWithCode
@Test
public void example(JenkinsConfiguredWithCodeRule r) {
// use 'r' ...
}
}
Class static fields are also supported
class ExampleJUnit5Test {
@WithJenkinsConfiguredWithCode
static JenkinsConfiguredWithCodeRule r;
@Test
public void example() {
// use 'r' ...
}
@Test
public void anotherExample() {
// use 'r' ...
}
}
- See Also: