in reply to Count assertions

Use yath instead of prove.

$ cat example.t use Test::More; subtest foo => sub { ok 1; ok 2; ok 3; }; subtest bar => sub { ok 4; ok 5; }; done_testing; $ yath example.t ** Defaulting to the 'test' command ** ( PASSED ) job 1 example.t Yath Result Summary ---------------------------------------------------------------------- +------------- File Count: 1 Assertion Count: 7 Wall Time: 0.36 seconds CPU Time: 0.53 seconds (usr: 0.16s | sys: 0.01s | cusr: 0.31s | + csys: 0.05s) CPU Usage: 146% --> Result: PASSED <--

Note assertion count is seven: five individual assertions plus the two subtest blocks grouping them.

Yath is just a better test runner in so many ways. If you have a large test suite, you can set it to send a notification by email or by Slack when the test suite has finished running. You can add # HARNESS-DURATION-LONG comments to long-running tests then run yath --no-long to only run short/medium tests. You can create a JSON log of a test run, then run yath --rerun-failed to just re-run the tests that failed last time. And the default output is prettier.