Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timyates/spock-ignoreuntil
Adds an annotation to Spock tests to ignore a feature or specification until a given date up to 30 days in the future.
https://github.com/timyates/spock-ignoreuntil
codenarc groovy ignore java jvm spock testing
Last synced: 29 days ago
JSON representation
Adds an annotation to Spock tests to ignore a feature or specification until a given date up to 30 days in the future.
- Host: GitHub
- URL: https://github.com/timyates/spock-ignoreuntil
- Owner: timyates
- License: other
- Created: 2019-04-20T18:49:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-05-01T16:39:24.000Z (over 5 years ago)
- Last Synced: 2024-10-14T20:46:25.704Z (2 months ago)
- Topics: codenarc, groovy, ignore, java, jvm, spock, testing
- Language: Groovy
- Homepage:
- Size: 64.5 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
### IgnoreUntil
- Built against spock 1.2-groovy-2.5 and Groovy 2.5.6
![](https://d1gbp99v447ls8.cloudfront.net/wp-content/uploads/2018/05/01011328/under-rug.gif)
#### Why?
`@Ignore` is a handy annotation to get flaky things through CI, or to temporarily remove a test whilst some form of upgrade is performed.
However, it is easily forgotten, and these ignored tests may be Ignored longer than was originally foreseen.This library adds an new Spock annotation `@IgnoreUntil` that requires a UTC date up to 30 days in the future.
After that time, by default, it will fail the build. You can set an annotation parameter `failAfter = false` to instead start running this spec or feature again, as if it weren't annotated.
Include in your gradle build with:
testImplementation("com.bloidonia:spock-ignoreuntil:1.1")
#### Usage
Ignore a specification
@IgnoreUntil("2019-05-15")
class MyTests extends Specification
def "I would fail"() {
expect:
1 != 1
}
}Ignore a feature
class MyTests extends Specification
@IgnoreUntil("2019-05-15")
def "I would fail"() {
expect:
1 != 1
}
}> Dates may not be more than 30 days in the future.
By default, on expiry, the spec or feature will fail with an `IgnoreUntilExpiredException`.
You can change this to make it just run the spec or feature by passing the `failAfter = false` to the annotation, ie:class MyTests extends Specification
@IgnoreUntil(value = "2019-05-15", failAfter = false)
def "I will run after the 15th May"() {
expect:
1 != 1
}
}#### Codenarc
- Built against Codenarc 1.3
If you use this spock extension, you may want to ban the use of `@Ignore` from your build.
If you use Codenarc, you can do this by adding the following to your dependencies:codenarc("com.bloidonia:spock-ignoreuntil:1.1")
And then this to your rules configuration file:
ruleset('rulesets/codenarc-ignore.xml')
Then usage of any of the `@Ignore` annotations (Spock, JUnit, etc) will fail with a priority 3 error.#### Known issues
If you're using Gradle, and a test outcome is cached, then it will not be executed if none of the inputs to the tests have changed.
This means that a test may remain effectively ignored beyond the specified end date.### Releases
1.1
- Change to using `value` in the annotation (so we don't need `date =` everywhere)
- Fix spelling in "over 30 days" error message1.0
- First version