Work In Progress Annotation
@WorkInProgress for selective test execution during development.Basic Information
The @WorkInProgress annotation functions as a selective execution marker. When enabled, only test methods annotated
with @WorkInProgress will be executed within that test class. All other unannotated test methods in the class are
automatically skipped.
📝Note
To prevent accidental execution in continuous integration (CI/CD) environments, this annotation must be explicitly enabled via the configuration property neodymium.workInProgress. This property is initially set to false in config/neodymium.properties. The recommended best practice is to enable it locally by setting it to true in your config/dev-neodymium.properties file.
Examples
Basic Usage
In the following example, only the test method first() will be executed. The test method second() will be skipped
because it lacks the @WorkInProgress annotation.
To run this example, the configuration property neodymium.workInProgress must be set to true.
public class TestClass
{
@WorkInProgress
@Test
public void first()
{
}
@Test
public void second()
{
}
}
Inheritance Example
When a test class extends another, the annotation’s behavior is inherited. In this example, TestClass2 extends
TestClass.
Assuming neodymium.workInProgress is true, both the test method third() (from TestClass2) and first() (from
the superclass TestClass) will be executed. The test method second() from TestClass will be skipped as before.
public class TestClass2 extends TestClass
{
@WorkInProgress
@Test
public void third()
{
}
}