2012-04-12 9 views
3

setup() und teardown() machen dasselbe wie Konstruktor und Destruktor. Wenn nicht, wie unterscheiden sie sich? Wenn ja, warum können wir nicht Konstruktor und Destruktor an ihrer Stelle verwenden.Können wir Konstruktor und Destruktor anstelle von Setup und Teardown verwenden?

+0

Es erklärt in der [Dokumentation] (http://cppunit.sourceforge.net/doc/lastest/cppunit_cookbook.html), dass diese Funktionen _call_ der Konstruktor von was auch immer Sie versuchen zu testen ... – Shep

Antwort

3

SetUp und tearDown können nicht durch Konstruktor und Destruktor ersetzt werden, da sie intern gegen Ausnahmen geschützt sind, die von Assertion-Makros ausgelöst werden. Sie können daher ein Assertion-Makro in setUp oder tearDown einfügen, aber Sie können dies nicht im Destruktor tun und haben einige Probleme im Konstruktor.

Dann ist cppunit von Junit inspiriert, die das gleiche Konzept implementiert. Und dann gibt es die Möglichkeit, das Setup und TearDown in einer Fixture durch eine andere setUp/tearDown Methode zu ersetzen.