I think it'd be great to mention how integration tests scale exponentially with the number of branches in the code, e.g. 5 true/false sequential decision points implies 2^5 paths to integration test, so it's better to unit test the 5 pieces of logic and have one integration test that the logic is sequential.