At work, we have a large shared codebase with lots of different client
apps using the same code. In this case, it makes sense for us to keep
the tests separate from each client application.
but on other projects that don't have that kind of "sharedness" about
it, I always keep tests right in with the app and haven't had a
problem with that at all.