@Documented
@Inherited
@Retention(value=RUNTIME)
@Target(value={METHOD,TYPE})
public @interface Pending
This is useful if one already wants to define the scenario without already implementing all steps, for example, to verify that all acceptance criteria of a story are covered by the scenario.
Annotating a stage class indicates that no step is implemented yet.
A test method can be annotated to indicate that the whole test is not implemented yet. The test will then be ignored by the testing-framework. (In fact an AssumptionException is thrown. It depends on the test runner how this is interpreted). Annotating the test class treats all methods of that test class as pending. Currently only works for JUnit
@Pending public void my_cool_new_feature() { }
Modifier and Type | Optional Element and Description |
---|---|
boolean |
executeSteps
Instead of only reporting pending steps,
the steps are actually executed.
|
boolean |
failIfPass
If no step fails during the execution of the test,
the test will fail.
|
java.lang.String |
value
Optional description to describe when the implementation will be done.
|
public abstract java.lang.String value
public abstract boolean executeSteps
public abstract boolean failIfPass
This makes sense if one ensures that a not implemented feature always leads to failing tests in the spirit of test-driven development. The test is completely implemented if no test is failing anymore, which means that the @Pending annotation can be removed.
If this is true, the executeSteps
attribute is implicitly true
.