Record and analyze your Cucumber results.
- Java JRE 21
- Mongo
Zucchini is built with Gradle. The Gradle wrapper is provided, no extra download is required.
First time, install Javascript dependencies:
npm install --global yarn
./gradlew yarnInstall
Build application with Gradle:
./gradlew build
Warning: when Gradle is launched with Intellij, the PATH environment variable doesn't always contain path to Webpack command. If this is the case, relaunch Gradle daemon:
./gradlew --stop
./gradlew build
Run Mongo database server:
mongod &
Run Mongo migrations to build database:
(cd zucchini-ui-mongo && ./migrate.sh MONGO_HOST/MONGO_DATABASE)
Import project (on IntelliJ)
- Install gradle plugin
- Restart IntelliJ
- You will see "Import gradle project" message on the right bottom (Event log). Click on it.
- Select "Use default gradle wrapper". Not "Use local gradle distribution".
Start Java backend:
./gradlew runBackend
Start frontend:
(cd zucchini-ui-frontend && yarn start)
Open your browser to (although the yarn start
should open Zucchini home page) :
http://localhost:9000
You can build sample Cucumber reports from the zucchini-ui-example-features
:
./gradlew runCucumber
Generated reports can be found in build
directory.
The development UI server runs on port 9000, the backend server runs on ports 8080 (Zucchini API) and 8081 (Dropwizard admin API).
Start Java backend in debug mode
- Open the view "Gradle" > zucchini-ui > other
- Right-click on runBackend
- Debug
The sub-project zucchini-ui-app
builds a fat JAR that contains backend and UI in one JAR.
This JAR contains everything needed to run the Zucchini UI app.
You can run it with the following Gradle command:
./gradlew runShadow
The fat JAR is named zucchini-ui-app-VERSION-all.jar
. You will find it in zucchini-ui-app/build/libs
.
Run it with this command:
java -jar zucchini-ui-app-VERSION-all.jar server CONFIG.yml
Don't forget to init your Mongo database !
(cd zucchini-ui-mongo && ./migrate.sh MONGO_HOST/MONGO_DATABASE)
You can build a Docker image:
./gradlew dockerBuild
The Docker image will be located at pgentile/zucchini-ui
. After that, you can run the
Docker image and its dependencies with the following command:
docker compose up
You can find some pre-built images in Docker Hub.
You can launch some E2E Cypress tests:
(cd zucchini-ui-e2e-tests && yarn cypress:open)
This test suite is useful to validate basic Zucchini functionalities.
The configuration file used by the application is a Dropwizard YAML file.
You can use in your file environment variable, like ${HOME}
or ${USER}
.
View the sample configuration file for more information.
Used frameworks:
- UI project: React, Redux, Redux-Forms, React-Bootstrap
- Backend project: Dropwizard, Spring, Morphia,
See the contributing guide