A comprehensive reporting framework supporting multiple generators - static, email & realtime, historical analytics with ChainLP.
- Simple: Dark | Light
- Email: Sample
- ChainLP: https://chaintest.onrender.com/
A generator is responsible for creating output files based on the test results and configuration settings. It processes templates, saves necessary resources, and generates reports in a specified format.
ChainTest is still in active development, and only Java unit test frameworks are supported at present. Generators can be enabled via properties files located on classpath - for more information, see the supported plugins below.
- junit5
- cucumber-jvm
- testng
- pytest (in progress)
ChainLP is a Java (Spring) server which packs the Angular frontend and is distributed as a Docker image. ChainLP is the framework component providing historical analytics.
Docker image is available from https://hub.docker.com/r/anshooarora/chaintest.
The recommended way to run ChainLP is with docker-compose. Currently, the supported databases are listed below but most RDBMS database should work.
- H2
- MySQL
- PostgreSQL
For each database, there is a separate docker-compose.yml available at chainlp/docker. H2 provides the most straight-forward way to test, but it is NOT recommended for production use.
# example
git clone https://github.com/anshooarora/chaintest.git
cd chaintest/chainlp/docker
docker compose -f docker-compose-h2.yml up
# h2
docker compose -f docker-compose-h2.yml up
# mysql
docker compose -f docker-compose-mysql.yml up
# posgres
docker compose -f docker-compose-postgres.yml up
Use the host:port of the ChainLP server, include it in chaintest.properties along with the required value for chaintest.project.name.
The host:port combination is where the client (via plugin) will connect to and communicate over TCP. For more information how communication is established, look into ChainTestApiClient.
# (only the relevant bits shows below)
# chaintest configuration
chaintest.project.name=default
# generators:
## chainlp
chaintest.generator.chainlp.enabled=true
chaintest.generator.chainlp.host.url=<host:port>
Contributions are welcome. Please open an issue or submit a pull request.
ChainTest is open-source software and licensed under Apache-2.0.