This repo contains a suite of regression tests for Skippy itself. This repo is
- not packaged and published and
- not meant to be used by projects that utilize Skippy.
Unlike regular code that runs at runtime, Skippy operates at the intersection of build & test time. That poses some challenges for writing high-value unit tests for Skippy. That's the primary reason why Skippy relies heavily on the functional tests in this repo.
Contributions are always welcome! You can either
- submit a pull request,
- create an issue in GitHub's issue tracker or
- email contact@skippy.io.
I would love to hear from you.
The test suite is split into two parts:
- Regression tests for Gradle-based builds
- Regression tests for Maven-based builds
The tests for Gradle-based builds work as follows:
- The projects in
test-projectsare copied tosrc/test/resources(this is triggered byprocessTestResources) - The tests in
io.skippy.test.gradleuse Gradle's TestKit to build the projects - The tests in
io.skippy.test.gradlethen assert against the output from #2
You can run the tests for Gradle-based builds as follows:
./gradlew gradleTestUnfortunately, there is no Maven counterpart for Gradle's TestKit. That's why the tests for Maven-based builds are a little wonky:
- The projects in
test-projectsare copied tosrc/test/resources - The projects in
src/test/resourcesare then build on the command line by invokingmvn - The tests in
io.skippy.test.maventhen assert against the output from #2
You can run the tests for Maven-based builds as follows:
./mavenTest.shA merge to main triggers the suite for Gradle and Maven.