Percentage-passing extension for JUnit 5
- Java 99.7%
- CSS 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo | ||
| com.io7m.percentpass.extension | ||
| com.io7m.percentpass.tests | ||
| src/site/resources | ||
| .gitignore | ||
| .gitmodules | ||
| doc7m-books.json | ||
| pom.xml | ||
| README-CHANGES.xml | ||
| README-LICENSE.txt | ||
| README.in | ||
| README.md | ||
percentpass
percentpass
A minimal Junit 5 extension that allows for executing tests multiple times, and requiring a minimum number of successful executions.
This can be useful when a particular test in a test suite is timing sensitive and cannot be reliably corrected for some reason. Perhaps you decide that working correctly 98% of the time is acceptable.
Features
- Percentage passing; specify that a percentage of the iterations of a test must succeed.
- Minimum passing: specify that an integral number of the iterations of a test must succeed.
- Written in pure Java 17.
- OSGi ready
- JPMS ready
- ISC license
- High-coverage automated test suite
Usage
Annotate tests with @MinimumPassing or @PercentPassing:
@PercentPassing(executionCount = 1000, passPercent = 98.0)
public void testPercentOK()
{
// Do something that fails 1% of the time.
}
@MinimumPassing(executionCount = 1000, passMinimum = 980)
public void testMinimumOK()
{
// Do something that fails 1% of the time.
}
