A unit test attempts to verify a mojo as an isolated unit, by mocking out the rest of the Maven environment. A mojo unit test does not attempt to run your plugin in the context of a real Maven build. Unit tests are designed to be fast.
This testing library is NOT designed for integration or functional testing:
maven-invoker-plugin
is the way to go if you need it,
which gives you a complete Maven environment at the cost of more resources and time consuptions.
Mojo Testing Harness 2.0+ requires Maven 3.0. This does not necessary mean that your mojos will be incompatible with Maven 2.x, it only means that mojo unit tests use Maven 3.x libraries to mock Maven environment. Still, if you want to be absolutely sure your mojo is compatible with Maven 2.x, then you probably want to use Mojo Testing Harness 1.x.