-
Notifications
You must be signed in to change notification settings - Fork 0
Testing
We use 2 testing frameworks to test the frontend.
- For unit testing, we use Jest.
- For component and e2e testing, we can use cypress.
To run the Jest tests, you can run following command:
docker exec -it DrTrottoir-fe npm run test
The cypress tests are not yet possible to run in the docker due to some issues/errors. These tests can be ran locally (if they don't need the backend) with follow commands:
npm run cypress
npm run e2e
npm run e2e:headless
npm run component
npm run component:headless
ideally it will also be possible in the future to run these tests in the docker with the following command:
docker exec -it DrTrottoir-fe <npm command>
Some usefull links:
Backend unit/integration test are done with the unittest framework. Because we work with docker, the tests needs to run in the docker. This can be done with following commands. It is of course necessary to first start the docker environment before running these commands.
-
Run all tests:
docker exec -it DrTrottoir-be python manage.py test
-
Run one test file:
docker exec -it DrTrottoir-be python manage.py test drtrottoir.tests.<TESTFILE>
-
Run one test class:
docker exec -it DrTrottoir-be python manage.py test drtrottoir.tests.<TESTFILE>:<TESTCLASS>
-
Run a single test:
docker exec -it DrTrottoir-be python manage.py test drtrottoir.tests.<TESTFILE>:<TESTCLASS>.<TESTMETHOD>
When all tests succeed, the coverage of the tests will also be showen in stdout. The coverage will be calculated for all the files in the Dr-Trottoir-2/drtrottoir
directory. This can be edited in manage.py
and it is also possible to omit some files there. We use the coverage.py
library for calculating the coverage of our tests in the backend.
Some usefull links:
It is possible to use the data in fixtures in your test, more info in the django documentation: