mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-03-11 10:59:30 -04:00
* Use typographic quotes * A few fixes * Fix * Fix not saved * Implement feedback * Detail * Revert spoken English fixes Left for a future dedicated discussion * More reverts * Final reverts * Final minor
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# Running tests
|
||
|
||
FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be merged in `edge` if the tests don’t pass.
|
||
|
||
## Locally
|
||
|
||
As a developer, you can run the test suite on your PC easily with `make` commands. You can run the test suite with:
|
||
|
||
```sh
|
||
make test
|
||
```
|
||
|
||
This command downloads the PHPUnit binary and verifies its checksum. If the verification fails, the file is deleted. In this case, you should [open an issue on GitHub](https://github.com/FreshRSS/FreshRSS/issues/new) to let maintainers know about the problem.
|
||
|
||
Then, it executes PHPUnit in a Docker container. If you don’t use Docker, you can run the command directly with:
|
||
|
||
```sh
|
||
NO_DOCKER=true make test
|
||
```
|
||
|
||
The linter can be run with a `make` command as well:
|
||
|
||
```sh
|
||
make lint # to execute the linter on the PHP files
|
||
make lint-fix # or, to fix the errors detected by the linter
|
||
```
|
||
|
||
Similarly to PHPUnit, it downloads a [PHP\_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) binary (i.e. `phpcs` or `phpcbf` depending on the command) and verifies its checksum.
|
||
|
||
## GitHub Actions for Continuous Integration
|
||
|
||
Tests are automatically run when you open a pull request on GitHub.
|
||
They are performed with [GitHub Actions](https://github.com/FreshRSS/FreshRSS/actions).
|
||
This ensures your code will not introduce some kind of regression. We will not merge a PR if tests fail so we will ask you to fix any bugs before reviewing your code.
|
||
|
||
If you are interested, you can take a look at [the configuration file](https://github.com/FreshRSS/FreshRSS/blob/edge/.github/workflows/tests.yml).
|