Issue keeper is a tracking tool which makes the tests skipped in advance when they are blocked by the open issues.
- Tracking systems - Bugzilla, JIRA
- Custom issue constraints depending on the environment and current test suite (operating system, database, jdk, remote API, etc.)
- Versioning - tests on older versions will be always skipped (though the issue is fixed in the new versions)
- Multiple issues discoverred in one test
- Skipping whole test classes
- Design and runtime configurations
- Integration with test frameworks - JUnit
- Offline mode (cache for 24 hours - customizable)
- Configurable issue tracking system states in projects (according to the unique workflows)
Add the following Maven dependency into your pom.xml:
<dependency>
<groupId>link.bek.tools</groupId>
<artifactId>issue-keeper-junit</artifactId>
<version>4.12.4</version> <!-- corresponds to junit version 4.12 -->
<!--<version>4.11.2</version> corresponds to junit version 4.11 -->
</dependency>
Add the following rule into your test class or the super test base, :
@Rule
public IKeeperJUnitConnector issueKeeper = new IKeeperJUnitConnector(new BugzillaClient("https://bugzilla.redhat.com"));
You are free to change the url of your tracking system.
Just add @BZ or @JIRA annotation on top of a test method or class.
@BZ("1155593")
@Test
public void runVerifiedIssueTest() {
@BZ({"1155593", "1203640"})
@Test
public void runMultipleVerifiedIssuesTest() {
ikeeperConfiguration.properties:
- Change of action
- Skip - reported issue causes skipping the test
- Fail - reported issue causes fail of the test
- DoNothing - all the tests run, no matter the issues
- Custom - you are free to decide whether to proceed testing or not
- Example: action=org.jboss.qa.ikeeper.action.Fail
- Set current testing version
- testVersion=6.0.2
- Set versions order
- versions=6.0.1,6.0.2,6.0.3,6.1.0
- Disable Issue Keeper
- ikeeper.run=false
- can be also configured as a system property -Dikeeper.run=false
- Configure action states
- JIRA@DEFAULT=NEW,OPEN,ASSIGNED,CODING IN PROGRESS,PULL REQUEST SENT,REOPENED
- BZ@DEFAULT=NEW,ASSIGNED,POST,MODIFIED
- JIRA@RHBPMS=NEW,OPEN,ASSIGNED,CODING IN PROGRESS,PULL REQUEST SENT,REOPENED,RESOLVED
ikeeperEnvironment.properties
- Set the running environment properties for comparison with the issue constraints
- Example:
os=RHEL6
jdk=OpenJDK7
db=PostgreSQL9.2
- Alternatively in the code:
issueKeeper.setEnvironmentProperties(envProps);
issueKeeper.setEnvironmentProperty("remoteAPI", controller.toString());
ikeeperConstraints.properties
- Set the constraints for the reported issues (e.g. the specific issue does not run on PostgreSQL9.2 but it does elsewhere)
- Example:
1107757-description=Test description of the issue 1107757.
1107757-os=RHEL6,Win2012
1107757-jdk=OpenJDK7
- Support for regular expressions using tilde:
JBPM-3558-db~=Postgre.*