Frage

Ich habe einen Boost -Unit -Testfall, der dazu führt, dass das zu testende Objekt eine Ausnahme macht (das ist der Test, um eine Ausnahme zu verursachen). Wie spezifiziere ich im Test, um diese besondere Ausnahme zu erwarten?

Ich kann angeben, dass der Test eine bestimmte Anzahl von Fehlern mithilfe von Boost_auto_test_case_expected_Failures aufweisen sollte, aber das scheint eher unspezifisch zu sein. Ich möchte an einem bestimmten Punkt in der Prüfung sagen können, dass eine Ausnahme ausgelöst werden sollte und dass sie nicht als Fehler gezählt werden sollte.

War es hilfreich?

Lösung

Doesn't this work?

BOOST_CHECK_THROW (expression, an_exception_type);

That should cause the test to pass if the expression throws the given exception type or fail otherwise. If you need a different severity than 'CHECK', you could also use BOOST_WARN_THROW() or BOOST_REQUIRE_THROW() instead. See the documentation

Andere Tipps

You can also use BOOST_CHECK_EXCEPTION, which allows you to specify test function which validates your exception.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top