spockframework / spockframework/spock

Support @ExtensionAnnotation as meta-annotation

Open
#504 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Module-Core Type-Enhancement
Dominant language
Java
Stars
3.6k
Forks
483
PR merge metrics
No merged PRs in 30d

Description

Originally reported on Google Code with ID 382

I have a suite of Geb tests that consists of read-only and read-write tests, and I need
to be able to specify whether to run mutating tests. I can use @Requires for this,
but I have to repeat my condition for each class or method. I would like to be able
to use @Requires/@IgnoreIf as a meta-annotation to define my own annotation, which
has the condition baked in.

Reported by christopher.smith@artsquare.com on 2014-12-09 00:10:02

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating how @Requires and @IgnoreIf are processed, then trace the extension and annotation handling for meta-annotations. Add coverage for a user-defined annotation that carries the condition, including class- and method-level use, and verify that mutating tests can be selected or skipped as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy, java
Domain
testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.