The assumption is that we're working on a large legacy Java codebase - with active ongoing development.
I had a team member say:
We should use lots of smaller JUnit tests that are focused on one class - because the fast feedback and ease of maintanence gives us value.
I had another team member say:
We should focus on integrating several classes (and external files) in integration tests, because the bugs happen at the integration points between classes - and this is how we'll deliver business value. This is because the more you mock out, the less value your unit tests will have.
I'm trying to adjudicate this discussion and drive some consensus. I'm looking for a way to get people to agree on the tradeoffs between shorter highly mocked JUnit tests, and slightly more integrated integration tests. This is so we can all focus on one particular goal.
My question is: What is the method to articulate the tradeoffs between short-fast mocked JUnit tests and slower Integration tests?