Dancer2::Test is 864 lines of code, including documentation. It tries to fake
whatever is necessary to run a request against the Dancer2 code.
It is long, exhaustive, and hairy. It has subtle edge cases that required work
on both D1 and D2. It has been the bane of much testing code in Dancer. It also
has at least one bug (GH #544).
More than all of these, it simply isn't required. At least not the way it works
now. Plack::Test covers everything it does, except for checking POD coverage of
routes - which could be kept.
For now I've changed all the code that uses it to use Plack::Test instead. The
code is clearer and more maintainable.
Dancer2::Test will move to a relaxed deprecation cycle. We will add
documentation that shows a more preferred approach, including how to rewrite
An additional process requires having a simple method for fetching the PSGI app,
that will also call the "finish" methods on each Dancer application - tasks
that are more verbose without Dancer2::Test and expose more of the backend than
should be exposed (because it might actually change).