TDD and general best practices around writing tests say that we should test the behavior and not implementation.
In that context, EasyMock.expect().andReturn() should never be used because expect().andReturn() will fail if the expected method is not called on the mocked object.
Instead, expect().andStubReturn() should be used.
Is this hypothesis correct?
I am viewing "testing implementation" as a guard rail against bad programmers who just push code without proper testing. Is that a bad practice?