separate tests and manage coverage better

We want to check coverage only on the unit test run, not whilst running the integration test.

* Separate out tests into Unit and Integration
* Run coverage only on unit tests