title: How should methods updating database tables be unit tested?
body: <p>I have an application that is database intensive.  Most of the applications methods are updating data in a database.  Some calls are wrappers to stored procedures while others perform database updates in-code using 3rd party APIs.  </p>
  
  <p>What should I be testing in my unit tests?  Should I...</p>
  
  <ol>
  <li>Test that each method completes without throwing an exception -or-</li>
  <li>Validate the data in the database after each test to make sure the state of data is as expected</li>
  </ol>
  
  <p>My initial thought is #2 but my concern is that I would be writing a bunch of <em>framework code</em> to go along with my unit tests.  I read that you shouldn't write a bunch of framework code for unit testing.</p>
  
  <p>Thoughts?</p>
  
  <p><strong>EDIT:</strong> What I mean by framework is writing a ton of other code that serves as a <em>library</em> to the unit testing code...not a third party framework.</p>