Often in web apps, tests are very dependent on the state set up by previous
tests. If one test fails (e.g. "follow the link to the admin page") then it's
likely there will be many more failures. This module aims to alleviate this
problem, as well as provide a nicer interface to Test::WWW::Mechanize.
The central idea is that of "flow". Each flow is a sequence of commands ("fill
in this form") and assertions ("content should contain 'testuser'"). If any of
these commands or assertions fail then the flow is aborted. Only that one
failure is reported to the test harness and user. Flows may also contain other
flows. If an inner flow fails, then the outer flow fails as well.