GINT is a Groovy based integration test framework. Tests are Groovy/Gant scripts with testcase definitions. The framework is targeted at integration level testing of software supporting a command line interface (CLI) or accessible via groovy scripts. The framework can also be used for unit and integration testing of Java, Groovy, and Gant code. A declarative style simplifies many test scenarios and the full power of Groovy scripting makes more complex test scenarios possible as well. Parallel execution of testcases significantly reduces run time, enabling more frequent use and more timely feedback for continuous integration (CI) environments.
The following summarizes the key attributes that are fundamental to GINT.
- Groovy - powerful capabilities, concise syntax, easy adoption for JAVA programmers. Simple where that is sufficient. Fully extendable to cover more difficult and complex cases often encountered in integration level testing.
- Integration testing - testing complete programs from the outside. Unit testing is not sufficient and unit test based tools and frameworks are overly complex and lack specific features for productive integration level testing.
- Agile methodology - supporting the practices of Test Driven Development, Acceptance Testing, and Continuous Integration.
- Feature - Atlassian application testing — an extension for testing plugins and add-ons for Atlassian products like JIRA, Confluence, Bamboo, Stash, and Crucible
- Feature - automatic comparisons — validating data produced matches expected results
- Feature - automatic retry support — Support for automatic retry of failed testcases and conditional retries
- Feature - command generators — ease testcase definition and maintenance by defining testcase parameters used to generate commands
- Feature - command logging
- Feature - CSV defined testcases — testcase definitions can come from CSV files
- Feature - database defined testcases — testcase definitions can come from database tables
- Feature - GINT properties — automatic loading of properties from gint.properties found in standard locations
- Feature - interactive testing — Support for manual and semi-automated tests using instant messaging
- Feature - JUnit-style XML output — for integrating test results with Continuous Integration (CI) tools
- Feature - parallel — automatic running of testcases in parallel
- Feature - profiles — automatic and more advanced than simple property files
- Feature - reports — supports output logging, JUnit-style XML, mail, and IM reports
- Feature - subsets — ability to control which testcases should be included in a specific run