I've learned about mocking and stubbing and I've seen how they can help me create great test suites that run blindingly fast and thus speed up my development process hugely.
However I've also seen the downside when there is an issue that is database centred and wasn't tested for (test doubles or not).
So should I have a subset of tests that do test such connectivity at least and some simple operations, for example creating a record in the primary transaction detail table, even if most of the foreign keys are stubbed out?
What experience have people found with this issue and what balance has worked in various situations?
I normally post on Stack Overflow but this seemed much more conceptual. It might still be a bit subjective so maybe the question can be improved.
The closest similar question I could find was When should I use mock objects? but it didn't feel like it was really the same question and the answers felt further off. Perhaps my question is more about when NOT to mock. ...yeah, so I've updated my title.
I also found this helpful: TDD: Mocking out tightly coupled objects