
Reece Dunn wrote:
You need to be very careful here. If you have asserts in a destructor, they could throw and terminate your tests without any diagnostics! ATL has asserts in several destructors.
Ideally, you would want the asserts to become test cases, i.e. CPPUNIT_ASSERT or BOOST_ASSERT but unfortunately, CPPUNIT_ASSERT throws an exception :(.
Indeed, but doing that sort of thing in a destructor is real bad anyway, so just ensure the class is always in a good state preserving the invariants as much as poossible and not bother testing destructors directly but observe their effects using suitable mock style objects. Kevin -- | Kevin Wheatley, Cinesite (Europe) Ltd | Nobody thinks this | | Senior Technology | My employer for certain | | And Network Systems Architect | Not even myself |