YOURLS/tests
Léo Colombaro ef18d1d29e
Revert added exception in the sandbox (#3893)
2025-04-06 15:46:07 -05:00
..
data Fix all PHPUnit tests errors and compatiblity issues (#3871) 2025-03-21 14:01:34 +01:00
includes Upgrade tests to PHPUnit 10+ 2025-03-03 23:45:01 +01:00
tests Revert added exception in the sandbox (#3893) 2025-04-06 15:46:07 -05:00
.htaccess Forbid tests/ 2020-04-27 21:07:22 +02:00
README.md Reflect PHP requirement into docs 2025-03-03 23:45:01 +01:00
bootstrap.php Fix all PHPUnit tests errors and compatiblity issues (#3871) 2025-03-21 14:01:34 +01:00
composer.json Move to GitHub Actions (#2828) 2021-02-04 13:44:35 +01:00
composer.lock Upgrade tests to PHPUnit 10+ 2025-03-03 23:45:01 +01:00

README.md

Unit Tests for YOURLS

About

This is the unit test suite for YOURLS: a collection of hundreds of tests to make sure that whenever something in YOURLS is added, changed or removed, everything still works under all the supported PHP versions.

Getting Started

If you want to run tests locally:

  1. Install PHPUnit.
    composer -d tests/ install
    
  2. Create an empty MySQL database and user. Do not use an exisiting database or you will lose data, guaranteed.
  3. Copy <YOURLS_ROOT>tests/data/config/yourls-tests-config-sample.php to <YOURLS_ROOT>/tests/yourls-tests-config.php and edit it to match your setup.
    cp tests/data/config/yourls-tests-config-sample.php tests/yourls-tests-config.php
    
  4. In YOURLS root directory, you can now run the shell command:
    composer -d tests/ run test -- --configuration=../phpunit.xml.dist ..
    

Hopefully you should see something like the following appear:

YOURLS installed, starting PHPUnit

PHPUnit by Sebastian Bergmann and contributors.

Configuration: ...\phpunit.xml.dist

...............................................................  63 / 519 ( 12%)
............................................................... 126 / 519 ( 24%)
............................................................... 189 / 519 ( 36%)
............................................................... 252 / 519 ( 48%)
............................................................... 315 / 519 ( 60%)
............................................................... 378 / 519 ( 72%)
............................................................... 441 / 519 ( 84%)
............................................................... 504 / 519 ( 97%)
...............                                                 519 / 519 (100%)

Time: 6.06 seconds, Memory: 24.25Mb

OK (519 tests, 1123 assertions)

You can elect to run only selected groups of tests, eg:

$ phpunit --group formatting

See each @group directive in selected tests.

PHPUnit supports both phpunit.xml and phpunit.xml.dist, where phpunit.xml has higher priority: if you want to specify your own settings, copy phpunit.xml.dist to phpunit.xml and edit that file.