title: Execute one test case several times with different fixture each time
body: <p>I have a test case that I want to execute for different states of database. I insert objects to DB in fixture (and I'd like to keep it that way). I want to make method for initialization of DB virtual and specialize fixture for different configurations in DB.</p>
  
  <p>One way I can think of is to do something like:</p>
  
  <pre><code>void doTest(){
      //test code here
  }
  
  BOOST_FIXTURE_TEST_CASE(test1, fixture1)
  {
      doTest();
  }
  
  BOOST_FIXTURE_TEST_CASE(test2, fixture2)
  {
      doTest();
  }
  
  BOOST_FIXTURE_TEST_CASE(test3, fixture3)
  {
      doTest();
  }
  </code></pre>
  
  <p>But is there a cleaner, neater way?
  Or maybe I shouldn't do this altogether? I will appreciate any advice from testing experts.</p>