title: Behavior vs. State Based Testing
body: <p>I know this question is part of a bit of a religious war, but I have the following situation:
  I have an object, <code>Responder</code> that calls a method on object <code>Updater</code>in response to different events.  I recently separated the testing in this way: state-based tests for the <code>Updater</code> method itself, and behavior-based tests for the <code>Responder</code> that calls it.  That is, I mock the <code>Updater</code> in the <code>Responder</code> tests, just to ensure that it is called.  </p>
  
  <p>Should I still be testing the state of the objects that are supposed to be updated in the <Code>Responder</code> tests and not mocking the <code>Updater</code>?  I like what I have done because it requires less setup and seems to better isolate the tests.  However, this seems to tie the implementation and expected behavior of <code>Responder</code> to <code>Updater</code>.  Is that too brittle?  This is a simplified example.</p>