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-projects
are copied tosrc/test/resources
(this is triggered byprocessTestResources
) - The tests in
io.skippy.test.gradle
use Gradle's TestKit to build the projects - The tests in
io.skippy.test.gradle
then assert against the output from #2
You can run the tests for Gradle-based builds as follows:
./gradlew gradleTest
Unfortunately, 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-projects
are copied tosrc/test/resources
- The projects in
src/test/resources
are then build on the command line by invokingmvn
- The tests in
io.skippy.test.maven
then assert against the output from #2
You can run the tests for Maven-based builds as follows:
./mavenTest.sh
A merge to main
triggers the suite for Gradle and Maven.