I have three layers: Service, Domain Model and Mapper. Should I write separate unit tests for each layer? Or should I write a set for Services that give me 100% code coverage over the lower layers?
If the answer is that I should write three separate sets of tests, is it important to isolate these tests so that they can run independently of the other layers? And what order should I write them in? Domain, then mapper, then services?
I'm using PHP and PHPUnit.