You’ve learned how to manage the app launch sequence. You can use a separate app delegate during testing.
This will give you a better clean room for testing. Except for the initial root view controller, your code coverage report will be more accurate. This gives you a clearer picture of where your app lacks unit tests.
Using the characterization test technique from Chapter 3, Measure Code Coverage and Add Tests, you can write tests for any well-isolated business logic. But a lot of iOS code is in view controllers, so what do we do about that? In the next chapter, we’ll pave the way for unit testing view controllers by learning how tests can access them.