36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Testing with cypress
|
|
|
|
This project use [cypress](https://www.cypress.io/) to do functional testing of the website.
|
|
Unfortunately we cannot integrate it with docker-compose for the moment, so you will need to install some packages locally on your pc.
|
|
|
|
## Getting Started
|
|
|
|
You will need to install theses dependancies on linux (don't know about mac):
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install libgtk2.0-0 libgtk-3-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
|
|
```
|
|
|
|
Cypress can be installed locally in the e2e directory
|
|
```bash
|
|
cd e2e
|
|
npm install
|
|
```
|
|
|
|
|
|
How to use:
|
|
```bash
|
|
npm run cy:run
|
|
npm run cy:open
|
|
```
|
|
|
|
The first command will run all tests in the terminal, while the second will open the interactive task runner which allow you to easily manage the test workflow
|
|
|
|
[More details here](https://docs.cypress.io/guides/getting-started/testing-your-app.html#Step-1-Start-your-server)
|
|
|
|
## How to test a game
|
|
|
|
Cypress cannot "see" and so cannot directly manipulate the canva created by Phaser.
|
|
|
|
This means we have to do workarounds such as exposing core objects in the window so that cypress can manipulate them or doing console that cypress can catch. |