๐Setup
Setting up handshake in your system
Different Frameworks would have their terminology and notation, though some of which could be common across, so the idea is to transform the values provided by the test runner and then display it with a similar dashboard so that anyone can understand the results easily.
Handshake (python-build)
Handshake (Python Build) is responsible for processing our Test Results into a common format, it calculates the results and ensures that the reports so generated look similar to the ones with the same tests but with different runners.
Steps
Clone this repo.
Visit these requirements for double checking
pip install poetry noxin the root path, perform:
python -m venv venvActivate Virtual Environment,
source ./venv/bin/activateif Linux or MacOSelse if Windows,
./venv/scripts/activate
In the root of the project directory, execute:
poetry install
you can refer to this blog to set up Python 3.11 from a source in Ubuntu. (if required)
After setup, you can check if it is working or not with handshake v or handshake --version
Testing
Pytest
pytest runs our test cases you can it under __test__ present in the root directory, we have tests written for the
server
CLI
migrator
scheduler
exporter.
to execute them you can run pytest __test__
Nox
since we support to run in py-3.11 and py-3.12. with nox -s test we can test it under those versions of Python as well.
Dashboard
The dashboard is built using React and Next.JS
The AIM of the Dashboard repo. is to generate a skeleton dashboard export that utilizes the export generated by the handshake scheduler for displaying beautiful (Should be) reports.
Steps
After cloning the repo.
Move to
handshake-nodejs-reporters/packages/handshake-dashboardExecute
npm install- Takes some time.To start the dev server:
npm run devTo start the storybook dev server:
npm run storybook
With these, we would be able to run the dev. version. you can explore the rest. ๐
Testing
Component Tests
we have written interactive tests inside the storybook to run it please execute: npm run test
Make sure to start the storybook dev server to run tests.
In the pipeline, we use: this command
Build
Make sure to run npm run build to check if we can generate the static export successfully.
Last updated