JUnit tests for CI development of all tools
Opened this issue · 0 comments
owlang commented
We need to set-up continuous integration automatic testing of our tools to screen for breaking changes. This needs to be done for all tools.
Current plan is to use JUnit 5 through Gradle to set up our testing framework.
One idea is to create a test suite for each tool group (script package) and implement a "@nested" test for each tool within the group. Coordinate Manipulation tools (public static void-type scripts) may be easier implementations to start with and then implementing BAM Manipulation tools would establish a standard for Picard-implemented tools, scripts with constructor implemented tools, and BAM formatted input/output checks for the rest of the tools/groups.
- Set-up JUnit using Gradle
- Create a test for Coordinate Manipulation (BED-to-GFF) as a first example
- Make sure test runs using command-line Gradle
- Set-up test to run in Github actions
- Create a test example from BAM Manipulation tools as representative examples of different tool types
- Implement the rest of the tool-specific tests according to the examples