aboutsummaryrefslogtreecommitdiff
path: root/docs/en/developers
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/developers')
-rw-r--r--docs/en/developers/03_Running_tests.md26
1 files changed, 15 insertions, 11 deletions
diff --git a/docs/en/developers/03_Running_tests.md b/docs/en/developers/03_Running_tests.md
index be2414d80..dabff8477 100644
--- a/docs/en/developers/03_Running_tests.md
+++ b/docs/en/developers/03_Running_tests.md
@@ -1,32 +1,36 @@
# Running tests
-FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be merged in `edge` if the tests don’t pass.
+FreshRSS is tested with [PHPUnit](https://phpunit.de/), [PHPStan](https://phpstan.org/), [PHP\_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer/), and more.
+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
+cd ./FreshRSS/
+make test-all
```
-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:
+Some syntax, formatting, whitespace, and i18n conventions can be fixed automatically with:
```sh
-NO_DOCKER=true make test
+make fix-all
```
-The linter can be run with a `make` command as well:
+Some tests can run inside some Docker images, in particular to test against minimum and maximum versions of PHP:
```sh
-make lint # to execute the linter on the PHP files
-make lint-fix # or, to fix the errors detected by the linter
+# Prepare
+make composer-test
+docker build --pull --tag freshrss/freshrss:oldest -f Docker/Dockerfile-Oldest .
+docker build --pull --tag freshrss/freshrss:newest -f Docker/Dockerfile-Newest .
+
+# Run
+docker run --rm -e FRESHRSS_ENV=development -e TZ=UTC -v $(pwd):/var/www/FreshRSS freshrss/freshrss:oldest bin/composer test
+docker run --rm -e FRESHRSS_ENV=development -e TZ=UTC -v $(pwd):/var/www/FreshRSS freshrss/freshrss:newest bin/composer test
```
-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.