Nette Documentation Preview

syntax
Εκτέλεση δοκιμών
****************

.[perex]
Το πιο ορατό μέρος του Nette Tester είναι ο εκτελεστή δοκιμών γραμμής εντολών. Είναι εξαιρετικά γρήγορος και ισχυρός, επειδή ξεκινά αυτόματα όλες τις δοκιμές ως ξεχωριστές διεργασίες παράλληλα σε πολλαπλά νήματα. Μπορεί επίσης να εκτελείται μόνος του στη λεγόμενη λειτουργία παρακολούθησης.

Ο εκτελεστή δοκιμών του Nette Tester καλείται από τη γραμμή εντολών. Ως παράμετρος, θα περάσουμε τον κατάλογο των δοκιμών. Για τον τρέχοντα κατάλογο απλώς πληκτρολογούμε μια τελεία:

/--pre .[terminal]
vendor/bin/tester .
\--

Κατά την κλήση, ο test runner θα σαρώσει τον καθορισμένο κατάλογο και όλους τους υποκαταλόγους και θα αναζητήσει δοκιμές, οι οποίες είναι τα αρχεία `*.phpt` και `*Test.php`. Επίσης, διαβάζει και αξιολογεί τις [επισημάνσεις |test-annotations] τους για να ξέρει ποιες και πώς να τις εκτελέσει.

Στη συνέχεια θα εκτελέσει τις δοκιμές. Για κάθε τεστ που εκτελείται, ο runner εκτυπώνει έναν χαρακτήρα για να δείξει την πρόοδο:

- <code style="color: #CCC; background-color: #000">.</code> - η δοκιμή πέρασε
- <code style="color: #CCC; background-color: #000">s</code> - η δοκιμή έχει παραλειφθεί
- <code style="color: #FFF; background-color: #900">F</code> - η δοκιμή απέτυχε

Η έξοδος μπορεί να μοιάζει με:

/--pre .[terminal]
 _____ ___  ___ _____ ___  ___
|_   _/ __)( __/_   _/ __)| _ )
  |_| \___ /___) |_| \___ |_|_\  v2.5.2

Note: No php.ini is used.
PHP 8.3.2 (cli) | php -n | 8 threads

........s..........................

<span style="color: #FFF; background-color: #090">OK (35 tests, 1 skipped, 1.7 seconds)</span>
\--

Έτσι θα ξέρετε αμέσως αν διορθώσατε το σφάλμα.

Ο κωδικός εξόδου του Tester είναι μηδέν, αν καμία δεν αποτύχει. Διαφορετικά, μη μηδενικός.

.[warning]
Ο Tester εκτελεί διεργασίες PHP χωρίς `php.ini`. Περισσότερες λεπτομέρειες στην ενότητα [Own php.ini |#Own php.ini].


Επιλογές γραμμής εντολών .[#toc-command-line-options]
=====================================================

Παίρνουμε επισκόπηση των επιλογών γραμμής εντολών εκτελώντας τον ελεγκτή χωρίς παραμέτρους ή με την επιλογή `-h`:

/--pre .[terminal]
 _____ ___  ___ _____ ___  ___
|_   _/ __)( __/_   _/ __)| _ )
  |_| \___ /___) |_| \___ |_|_\  v2.5.2

Usage:
    tester [options] [<test file> | <directory>]...

Options:
    -p <path>                    Specify PHP interpreter to run (default: php).
    -c <path>                    Look for php.ini file (or look in directory) <path>.
    -C                           Use system-wide php.ini.
    -d <key=value>...            Define INI entry 'key' with value 'value'.
    -s                           Show information about skipped tests.
    --stop-on-fail               Stop execution upon the first failure.
    -j <num>                     Run <num> jobs in parallel (default: 8).
    -o <console|console-lines|tap|junit|log|none> (π.χ. -o junit:output.xml)
                                 Καθορίστε μία ή περισσότερες μορφές εξόδου με προαιρετικό όνομα αρχείου.
    -w | --watch <path>          Watch directory.
    -i | --info                  Show tests environment info and exit.
    --setup <path>               Script for runner setup.
    --temp <path>                Διαδρομή προς τον προσωρινό κατάλογο. Προεπιλογή από την sys_get_temp_dir().
    --colors [1|0]               Enable or disable colors.
    --coverage <path>            Generate code coverage report to file.
    --coverage-src <path>        Path to source code.
    -h | --help                  This help.
\--


-p <path> .[filter]
-------------------
Καθορίζει το δυαδικό αρχείο PHP που θα χρησιμοποιηθεί για την εκτέλεση των δοκιμών. Από προεπιλογή είναι το `php`.

/--pre .[terminal]
tester -p /home/user/php-7.2.0-beta/php-cgi tests
\--


-c <path> .[filter]
-------------------
Καθορίζει ποιο `php.ini` θα χρησιμοποιείται κατά την εκτέλεση των δοκιμών. Από προεπιλογή, δεν χρησιμοποιείται php.ini. Ανατρέξτε στην ενότητα [Own php.ini |#Own php.ini] για περισσότερες πληροφορίες.


-C .[filter]
------------
Χρησιμοποιείται ένα `php.ini` σε όλο το σύστημα. Έτσι, στην πλατφόρμα UNIX, όλα τα αρχεία `/etc/php/{sapi}/conf.d/*.ini` επίσης. Δείτε την ενότητα [Own php.ini |#Own php.ini].


-d <key=value> .[filter]
------------------------
Ορίζει την τιμή της οδηγίας διαμόρφωσης PHP για δοκιμές. Η παράμετρος μπορεί να χρησιμοποιηθεί πολλές φορές.

/--pre .[terminal]
tester -d max_execution_time=20
\--


-s
---
Θα εμφανιστούν πληροφορίες σχετικά με τις δοκιμές που παραλείφθηκαν.


--stop-on-fail .[filter]
------------------------
Ο ελεγκτής σταματά τη δοκιμή μετά την πρώτη αποτυχημένη δοκιμή.


-j <num> .[filter]
------------------
Οι δοκιμές εκτελούνται σε ένα `<num>` παράλληλες διεργασίες. Η προεπιλεγμένη τιμή είναι 8. Αν θέλουμε να εκτελούμε δοκιμές σε σειρά, χρησιμοποιούμε την τιμή 1.


-o <console|console-lines|tap|junit|log|none> .[filter]
-------------------------------------------------------
Μορφή εξόδου. Η προεπιλογή είναι η μορφή κονσόλας. Μπορείτε να καθορίσετε το όνομα του αρχείου στο οποίο θα γραφτεί η έξοδος (π.χ. `-o junit:output.xml`). Η επιλογή `-o` μπορεί να επαναληφθεί πολλές φορές για την ταυτόχρονη παραγωγή πολλαπλών μορφών.

- `console`: η ίδια με την προεπιλογή, αλλά το λογότυπο ASCII δεν εκτυπώνεται σε αυτή την περίπτωση.
- `console-lines`: παρόμοια με την κονσόλα, αλλά το αποτέλεσμα κάθε δοκιμής παρατίθεται σε ξεχωριστή γραμμή με περισσότερες πληροφορίες
- `tap`: [Μορφή TAP |https://en.wikipedia.org/wiki/Test_Anything_Protocol] κατάλληλη για μηχανική επεξεργασία.
- `junit`: Μορφή JUnit XML, κατάλληλη και για μηχανική επεξεργασία.
- `log`: Εξάγει την πρόοδο των δοκιμών. Όλες οι αποτυχημένες, παραλειφθείσες και επιτυχημένες δοκιμές
- `none`: δεν εκτυπώνεται τίποτα


''-w | --watch <path>'' .[filter]
---------------------------------
Ο Tester δεν τερματίζει μετά την ολοκλήρωση των δοκιμών αλλά συνεχίζει να τρέχει και να παρακολουθεί τα αρχεία PHP στον συγκεκριμένο κατάλογο. Όταν αλλάξει, εκτελεί ξανά τις δοκιμές. Η παράμετρος μπορεί να χρησιμοποιηθεί πολλές φορές αν θέλουμε να παρακολουθούμε πολλούς καταλόγους.

Είναι χρήσιμο κατά τη διάρκεια της αναδιαμόρφωσης μιας βιβλιοθήκης ή της αποσφαλμάτωσης δοκιμών.

/--pre .[terminal]
tester --watch src tests
\--


''-i | --info'' .[filter]
-------------------------
Εμφανίζει πληροφορίες σχετικά με ένα περιβάλλον εκτέλεσης δοκιμής. Για παράδειγμα:

/--pre .[terminal]
tester -p /usr/bin/php7.1 -c tests/php.ini --info

<span style="color: #0F0">PHP binary:</span>
/usr/bin/php7.1

<span style="color: #0F0">PHP version:</span>
7.1.7-1+0~20170711133844.5+jessie~1.gbp5284f4 (cli)

<span style="color: #0F0">Code coverage engines:</span>
(not available)

<span style="color: #0F0">Loaded php.ini files:</span>
/var/www/dev/demo/tests/php.ini

<span style="color: #0F0">PHP temporary directory:</span>
/tmp

<span style="color: #0F0">Loaded extensions:</span>
Core, ctype, date, dom, ereg, fileinfo, filter, hash, ...
\--


-- <path> .[filter]
-------------------
Ο ελεγκτής φορτώνει το συγκεκριμένο σενάριο PHP κατά την εκκίνηση. Η μεταβλητή `Tester\Runner\Runner $runner` είναι διαθέσιμη σε αυτό. Ας υποθέσουμε ότι το αρχείο `tests/runner-setup.php`:

```php
$runner->outputHandlers[] = new MyOutputHandler;
```

και εκτελούμε τον ελεγκτή:

/--pre .[terminal]
tester --setup tests/runner-setup.php tests
\--


--temp <path> .[filter]
-----------------------
Ορίζει μια διαδρομή στον κατάλογο για τα προσωρινά αρχεία του Tester. Η προεπιλεγμένη τιμή επιστρέφεται από το `sys_get_temp_dir()`. Όταν η προεπιλεγμένη τιμή δεν είναι έγκυρη, θα λάβετε ειδοποίηση.

Εάν δεν είμαστε σίγουροι για τον κατάλογο που χρησιμοποιείται, μπορούμε να εκτελέσουμε το Tester με την παράμετρο `--info`.


--colors 1|0 .[filter]
----------------------
Ο Tester ανιχνεύει ένα τερματικό με δυνατότητα χρωματισμού από προεπιλογή και χρωματίζει την έξοδό του. Αυτή η επιλογή είναι πάνω από την αυτόματη ανίχνευση. Μπορούμε να ορίσουμε τον χρωματισμό συνολικά με μια μεταβλητή περιβάλλοντος συστήματος `NETTE_TESTER_COLORS`.


--coverage <path> .[filter]
---------------------------
Ο ελεγκτής θα δημιουργήσει μια αναφορά με επισκόπηση του πόσο καλύπτεται ο πηγαίος κώδικας από τις δοκιμές. Αυτή η επιλογή απαιτεί ενεργοποιημένη την επέκταση PHP [Xdebug |https://xdebug.org/] ή [PCOV |https://github.com/krakjoe/pcov] ή την PHP 7 με το SAPI PHPDBG, το οποίο είναι ταχύτερο. Η επέκταση του αρχείου προορισμού καθορίζει τη μορφή του περιεχομένου. HTML ή Clover XML.

/--pre .[terminal]
tester tests --coverage coverage.html  # HTML report
tester tests --coverage coverage.xml   # Clover XML report
\--

Η προτεραιότητα για την επιλογή του μηχανισμού συλλογής είναι η ακόλουθη:
1) PCOV
2) PHPDBG
3) Xdebug

Οι εκτεταμένες δοκιμές ενδέχεται να αποτύχουν κατά την εκτέλεση από την PHPDBG λόγω εξάντλησης της μνήμης. Η συλλογή δεδομένων κάλυψης είναι λειτουργία που καταναλώνει μνήμη. Σε αυτή την περίπτωση, η κλήση του `Tester\CodeCoverage\Collector::flush()` μέσα σε μια δοκιμή μπορεί να βοηθήσει. Θα μεταφέρει τα δεδομένα που συλλέχθηκαν σε αρχείο και θα ελευθερώσει τη μνήμη. Όταν η συλλογή δεδομένων δεν είναι σε εξέλιξη ή χρησιμοποιείται το Xdebug, η κλήση δεν έχει κανένα αποτέλεσμα.

"Ένα παράδειγμα αναφοράς HTML":https://files.nette.org/tester/coverage.html με κάλυψη κώδικα.


--coverage-src <path> .[filter]
-------------------------------
Τη χρησιμοποιούμε ταυτόχρονα με την επιλογή `--coverage`. Το `<path>` είναι μια διαδρομή προς τον πηγαίο κώδικα για τον οποίο δημιουργούμε την αναφορά. Μπορεί να χρησιμοποιηθεί επανειλημμένα.


Δικό σας php.ini .[#toc-own-php-ini]
====================================
Ο Tester εκτελεί διεργασίες PHP με την επιλογή `-n`, πράγμα που σημαίνει ότι δεν φορτώνεται κανένα `php.ini` (ούτε καν αυτό από το `/etc/php/conf.d/*.ini` στο UNIX). Εξασφαλίζει το ίδιο περιβάλλον για τις δοκιμές που εκτελούνται, αλλά απενεργοποιεί επίσης όλες τις εξωτερικές επεκτάσεις PHP που συνήθως φορτώνονται από την PHP του συστήματος.

Αν θέλετε να διατηρήσετε τις ρυθμίσεις του συστήματος, χρησιμοποιήστε την παράμετρο `-C`.

Αν χρειάζεστε κάποιες επεκτάσεις ή κάποιες ειδικές ρυθμίσεις INI, σας συνιστούμε να δημιουργήσετε το δικό σας αρχείο `php.ini` και να το διανείμετε στις δοκιμές. Στη συνέχεια, εκτελούμε το Tester με την επιλογή `-c`, π.χ. `tester -c tests/php.ini`. Το αρχείο INI μπορεί να μοιάζει ως εξής:

```ini
[PHP]

extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll

memory_limit=512M
```

Η εκτέλεση του Tester με ένα σύστημα `php.ini` στο UNIX, π.χ. `tester -c /etc/php/cgi/php.ini`, δεν φορτώνει άλλο INI από το `/etc/php/conf.d/*.ini`. Αυτή είναι η συμπεριφορά της PHP, όχι του Tester.

Εκτέλεση δοκιμών

Το πιο ορατό μέρος του Nette Tester είναι ο εκτελεστή δοκιμών γραμμής εντολών. Είναι εξαιρετικά γρήγορος και ισχυρός, επειδή ξεκινά αυτόματα όλες τις δοκιμές ως ξεχωριστές διεργασίες παράλληλα σε πολλαπλά νήματα. Μπορεί επίσης να εκτελείται μόνος του στη λεγόμενη λειτουργία παρακολούθησης.

Ο εκτελεστή δοκιμών του Nette Tester καλείται από τη γραμμή εντολών. Ως παράμετρος, θα περάσουμε τον κατάλογο των δοκιμών. Για τον τρέχοντα κατάλογο απλώς πληκτρολογούμε μια τελεία:

vendor/bin/tester .

Κατά την κλήση, ο test runner θα σαρώσει τον καθορισμένο κατάλογο και όλους τους υποκαταλόγους και θα αναζητήσει δοκιμές, οι οποίες είναι τα αρχεία *.phpt και *Test.php. Επίσης, διαβάζει και αξιολογεί τις επισημάνσεις τους για να ξέρει ποιες και πώς να τις εκτελέσει.

Στη συνέχεια θα εκτελέσει τις δοκιμές. Για κάθε τεστ που εκτελείται, ο runner εκτυπώνει έναν χαρακτήρα για να δείξει την πρόοδο:

  • . – η δοκιμή πέρασε
  • s – η δοκιμή έχει παραλειφθεί
  • F – η δοκιμή απέτυχε

Η έξοδος μπορεί να μοιάζει με:

 _____ ___  ___ _____ ___  ___
|_   _/ __)( __/_   _/ __)| _ )
  |_| \___ /___) |_| \___ |_|_\  v2.5.2

Note: No php.ini is used.
PHP 8.3.2 (cli) | php -n | 8 threads

........s..........................

OK (35 tests, 1 skipped, 1.7 seconds)

Έτσι θα ξέρετε αμέσως αν διορθώσατε το σφάλμα.

Ο κωδικός εξόδου του Tester είναι μηδέν, αν καμία δεν αποτύχει. Διαφορετικά, μη μηδενικός.

Ο Tester εκτελεί διεργασίες PHP χωρίς php.ini. Περισσότερες λεπτομέρειες στην ενότητα Own php.ini.

Επιλογές γραμμής εντολών

Παίρνουμε επισκόπηση των επιλογών γραμμής εντολών εκτελώντας τον ελεγκτή χωρίς παραμέτρους ή με την επιλογή -h:

 _____ ___  ___ _____ ___  ___
|_   _/ __)( __/_   _/ __)| _ )
  |_| \___ /___) |_| \___ |_|_\  v2.5.2

Usage:
    tester [options] [<test file> | <directory>]...

Options:
    -p <path>                    Specify PHP interpreter to run (default: php).
    -c <path>                    Look for php.ini file (or look in directory) <path>.
    -C                           Use system-wide php.ini.
    -d <key=value>...            Define INI entry 'key' with value 'value'.
    -s                           Show information about skipped tests.
    --stop-on-fail               Stop execution upon the first failure.
    -j <num>                     Run <num> jobs in parallel (default: 8).
    -o <console|console-lines|tap|junit|log|none> (π.χ. -o junit:output.xml)
                                 Καθορίστε μία ή περισσότερες μορφές εξόδου με προαιρετικό όνομα αρχείου.
    -w | --watch <path>          Watch directory.
    -i | --info                  Show tests environment info and exit.
    --setup <path>               Script for runner setup.
    --temp <path>                Διαδρομή προς τον προσωρινό κατάλογο. Προεπιλογή από την sys_get_temp_dir().
    --colors [1|0]               Enable or disable colors.
    --coverage <path>            Generate code coverage report to file.
    --coverage-src <path>        Path to source code.
    -h | --help                  This help.

-p <path>

Καθορίζει το δυαδικό αρχείο PHP που θα χρησιμοποιηθεί για την εκτέλεση των δοκιμών. Από προεπιλογή είναι το php.

tester -p /home/user/php-7.2.0-beta/php-cgi tests

-c <path>

Καθορίζει ποιο php.ini θα χρησιμοποιείται κατά την εκτέλεση των δοκιμών. Από προεπιλογή, δεν χρησιμοποιείται php.ini. Ανατρέξτε στην ενότητα Own php.ini για περισσότερες πληροφορίες.

-C

Χρησιμοποιείται ένα php.ini σε όλο το σύστημα. Έτσι, στην πλατφόρμα UNIX, όλα τα αρχεία /etc/php/{sapi}/conf.d/*.ini επίσης. Δείτε την ενότητα Own php.ini.

-d <key=value>

Ορίζει την τιμή της οδηγίας διαμόρφωσης PHP για δοκιμές. Η παράμετρος μπορεί να χρησιμοποιηθεί πολλές φορές.

tester -d max_execution_time=20

-s

Θα εμφανιστούν πληροφορίες σχετικά με τις δοκιμές που παραλείφθηκαν.

--stop-on-fail

Ο ελεγκτής σταματά τη δοκιμή μετά την πρώτη αποτυχημένη δοκιμή.

-j <num>

Οι δοκιμές εκτελούνται σε ένα <num> παράλληλες διεργασίες. Η προεπιλεγμένη τιμή είναι 8. Αν θέλουμε να εκτελούμε δοκιμές σε σειρά, χρησιμοποιούμε την τιμή 1.

-o <console|console-lines|tap|junit|log|none>

Μορφή εξόδου. Η προεπιλογή είναι η μορφή κονσόλας. Μπορείτε να καθορίσετε το όνομα του αρχείου στο οποίο θα γραφτεί η έξοδος (π.χ. -o junit:output.xml). Η επιλογή -o μπορεί να επαναληφθεί πολλές φορές για την ταυτόχρονη παραγωγή πολλαπλών μορφών.

  • console: η ίδια με την προεπιλογή, αλλά το λογότυπο ASCII δεν εκτυπώνεται σε αυτή την περίπτωση.
  • console-lines: παρόμοια με την κονσόλα, αλλά το αποτέλεσμα κάθε δοκιμής παρατίθεται σε ξεχωριστή γραμμή με περισσότερες πληροφορίες
  • tap: Μορφή TAP κατάλληλη για μηχανική επεξεργασία.
  • junit: Μορφή JUnit XML, κατάλληλη και για μηχανική επεξεργασία.
  • log: Εξάγει την πρόοδο των δοκιμών. Όλες οι αποτυχημένες, παραλειφθείσες και επιτυχημένες δοκιμές
  • none: δεν εκτυπώνεται τίποτα

-w | --watch <path>

Ο Tester δεν τερματίζει μετά την ολοκλήρωση των δοκιμών αλλά συνεχίζει να τρέχει και να παρακολουθεί τα αρχεία PHP στον συγκεκριμένο κατάλογο. Όταν αλλάξει, εκτελεί ξανά τις δοκιμές. Η παράμετρος μπορεί να χρησιμοποιηθεί πολλές φορές αν θέλουμε να παρακολουθούμε πολλούς καταλόγους.

Είναι χρήσιμο κατά τη διάρκεια της αναδιαμόρφωσης μιας βιβλιοθήκης ή της αποσφαλμάτωσης δοκιμών.

tester --watch src tests

-i | --info

Εμφανίζει πληροφορίες σχετικά με ένα περιβάλλον εκτέλεσης δοκιμής. Για παράδειγμα:

tester -p /usr/bin/php7.1 -c tests/php.ini --info

PHP binary:
/usr/bin/php7.1

PHP version:
7.1.7-1+0~20170711133844.5+jessie~1.gbp5284f4 (cli)

Code coverage engines:
(not available)

Loaded php.ini files:
/var/www/dev/demo/tests/php.ini

PHP temporary directory:
/tmp

Loaded extensions:
Core, ctype, date, dom, ereg, fileinfo, filter, hash, ...

-- <path>

Ο ελεγκτής φορτώνει το συγκεκριμένο σενάριο PHP κατά την εκκίνηση. Η μεταβλητή Tester\Runner\Runner $runner είναι διαθέσιμη σε αυτό. Ας υποθέσουμε ότι το αρχείο tests/runner-setup.php:

$runner->outputHandlers[] = new MyOutputHandler;

και εκτελούμε τον ελεγκτή:

tester --setup tests/runner-setup.php tests

--temp <path>

Ορίζει μια διαδρομή στον κατάλογο για τα προσωρινά αρχεία του Tester. Η προεπιλεγμένη τιμή επιστρέφεται από το sys_get_temp_dir(). Όταν η προεπιλεγμένη τιμή δεν είναι έγκυρη, θα λάβετε ειδοποίηση.

Εάν δεν είμαστε σίγουροι για τον κατάλογο που χρησιμοποιείται, μπορούμε να εκτελέσουμε το Tester με την παράμετρο --info.

--colors 1|0

Ο Tester ανιχνεύει ένα τερματικό με δυνατότητα χρωματισμού από προεπιλογή και χρωματίζει την έξοδό του. Αυτή η επιλογή είναι πάνω από την αυτόματη ανίχνευση. Μπορούμε να ορίσουμε τον χρωματισμό συνολικά με μια μεταβλητή περιβάλλοντος συστήματος NETTE_TESTER_COLORS.

--coverage <path>

Ο ελεγκτής θα δημιουργήσει μια αναφορά με επισκόπηση του πόσο καλύπτεται ο πηγαίος κώδικας από τις δοκιμές. Αυτή η επιλογή απαιτεί ενεργοποιημένη την επέκταση PHP Xdebug ή PCOV ή την PHP 7 με το SAPI PHPDBG, το οποίο είναι ταχύτερο. Η επέκταση του αρχείου προορισμού καθορίζει τη μορφή του περιεχομένου. HTML ή Clover XML.

tester tests --coverage coverage.html  # HTML report
tester tests --coverage coverage.xml   # Clover XML report

Η προτεραιότητα για την επιλογή του μηχανισμού συλλογής είναι η ακόλουθη:

  1. PCOV
  2. PHPDBG
  3. Xdebug

Οι εκτεταμένες δοκιμές ενδέχεται να αποτύχουν κατά την εκτέλεση από την PHPDBG λόγω εξάντλησης της μνήμης. Η συλλογή δεδομένων κάλυψης είναι λειτουργία που καταναλώνει μνήμη. Σε αυτή την περίπτωση, η κλήση του Tester\CodeCoverage\Collector::flush() μέσα σε μια δοκιμή μπορεί να βοηθήσει. Θα μεταφέρει τα δεδομένα που συλλέχθηκαν σε αρχείο και θα ελευθερώσει τη μνήμη. Όταν η συλλογή δεδομένων δεν είναι σε εξέλιξη ή χρησιμοποιείται το Xdebug, η κλήση δεν έχει κανένα αποτέλεσμα.

Ένα παράδειγμα αναφοράς HTML με κάλυψη κώδικα.

--coverage-src <path>

Τη χρησιμοποιούμε ταυτόχρονα με την επιλογή --coverage. Το <path> είναι μια διαδρομή προς τον πηγαίο κώδικα για τον οποίο δημιουργούμε την αναφορά. Μπορεί να χρησιμοποιηθεί επανειλημμένα.

Δικό σας php.ini

Ο Tester εκτελεί διεργασίες PHP με την επιλογή -n, πράγμα που σημαίνει ότι δεν φορτώνεται κανένα php.ini (ούτε καν αυτό από το /etc/php/conf.d/*.ini στο UNIX). Εξασφαλίζει το ίδιο περιβάλλον για τις δοκιμές που εκτελούνται, αλλά απενεργοποιεί επίσης όλες τις εξωτερικές επεκτάσεις PHP που συνήθως φορτώνονται από την PHP του συστήματος.

Αν θέλετε να διατηρήσετε τις ρυθμίσεις του συστήματος, χρησιμοποιήστε την παράμετρο -C.

Αν χρειάζεστε κάποιες επεκτάσεις ή κάποιες ειδικές ρυθμίσεις INI, σας συνιστούμε να δημιουργήσετε το δικό σας αρχείο php.ini και να το διανείμετε στις δοκιμές. Στη συνέχεια, εκτελούμε το Tester με την επιλογή -c, π.χ. tester -c tests/php.ini. Το αρχείο INI μπορεί να μοιάζει ως εξής:

[PHP]

extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll

memory_limit=512M

Η εκτέλεση του Tester με ένα σύστημα php.ini στο UNIX, π.χ. tester -c /etc/php/cgi/php.ini, δεν φορτώνει άλλο INI από το /etc/php/conf.d/*.ini. Αυτή είναι η συμπεριφορά της PHP, όχι του Tester.