Guilty as charged, I mix them both freely; I use fakes but also assert that a function has (not) been called [N times]. The latter is mostly testing implementation but there are rare cases when it's too much work to mock a quality 3rd party library (say, an HTTP client) but you still want to mock parts of it and ensure they get called.
Not sure why mixing up both things makes the conversations tortured though? Can you clarify?
Not sure why mixing up both things makes the conversations tortured though? Can you clarify?