This diagram explains how feature and scenario annotations are parsed and how skip logic works.
- @focus: Feature is focused, not skipped
- @skip: Feature is explicitly skipped
- No annotations + focused feature exists: Feature is skipped due to focus logic
- No annotations + no focused features: Feature runs normally
- @focus: Scenario is focused, not skipped
- @skip: Scenario is explicitly skipped
- @shouldFail: Scenario is expected to fail
- In focused feature: Scenarios run normally
- In non-focused feature + focused feature exists: Scenarios are skipped
- null: Not skipped
- "feature-explicit-skip": Explicitly skipped with @skip OR skipped due to focus logic
- "other-feature-focused": Skipped because another feature is focused
- "scenario-explicit-skip": Scenario explicitly skipped with @skip
- "other-scenario-focused": Scenario skipped because another scenario is focused