PHPunit result output on the CLI not showing test names
I'm running a brand new test suite in PHPUnit, I'd like to see the result of each test with the test name next to it. It would make fixing broken tests and TDD easier.
PHPunit does output the broken messages afterwards but your eyes go wonky after a while going through all the errors and stacktraces.
The current .......F...................
type output is great once your test suite is up and stable, but while you're creating a suite...
I've tried the --verbose
param and it doesn't help.
Solution 1:
Use phpunit --testdox
On the cli this will give you a very readable testdox format and allow you to see and fix your multiple test suites easily e.g.
PHPUnit 3.7.37 by Sebastian Bergmann.
Configuration read from /home/badass-project/tests/phpunit.xml
AnalyticsViewers
[x] test getViewersForMonth throws for no valid date
[x] test getViewersForMonth limits correctly
[x] test getViewersForMonth only returns unprocessed records
[ ] test getViewersForMonth marks retrieved records as processed
[ ] test getViewersForMonth returns zero for no view data
[x] test getViewersForMonth returns valid data
Organisation
[x] test getOrganisation returns orgs
I use it in combination with the stack traces from a vanilla PHPUnit run to quickly setup.
It also has the added benefit of replacing underscores in your test function names with spaces. eg test_getViewersForMonth_returns_valid_data
becomes test getViewersForMonth returns zero for no view data
which is more human readable.
N.B. Generally speaking if you're following the PSR coding standards you should be using camelCase for method names but for unit tests methods I break this rule to reduce cognitive load during TDD development.
Solution 2:
Also, if you would like output of what specific test is being run by line, try the --debug
flag, this way when errors are being thrown, you will know what test throwing the error by name.