BDD reporter


PHPUnit has a very minimal BDD-style test reporter, that outputs like this:

In the context of TestBox, the headings such as "Tests of WorkshopController" are the labels from the `describe` calls, and the "it needs to return a 200-OK status for GET requests" are the labels from the `it` calls.

A failure would display with minimal information:

This formatting gives essential test feedback with a minimum of clutter.

In the case of TestBox, both the TextReporter and MinTextReporter are very cluttered, and whether or not a specific test passed is lost within a bunch of telemetry:

(it's easier to see there cos I've isolated one test's results, but in a full test run the ratio of clutter to detail is, what, 8:1?)

In the case of the *Min*TestReporter, it just has the clutter and doesn't even list the tests! I think for this one you've thrown out the content and kept the clutter, whereas it should probably be the other way around, Indeed if it was the other way around, you'd pretty much be delivering what I'm expecting to see from a test run.

I question the utility of the CFC-by-CFC summary info in this report at all, if I'm honest. Maybe just once at the bottom, for the whole lot? Perhaps if there was a VerboseTextReporter then there'd be a case for all the telemetry you are currently outputting?

Obvs this is all subjective and mileage varies etc.


Luis Majano
May 3, 2021, 4:59 PM

Technically this is a CommandBox reporter we ship with the testbox package in COmmandBox. It consumes the json reporter and then spits out a custom CLI reporter at the CLI.

If you do testbox run it will consume the json, and produce the custom report in the CLI for you.

Your pinned fields
Click on the next to a field label to start pinning.


Luis Majano


Adam Cameron