This is a draft cheat sheet. It is a work in progress and is not finished yet.
Szablon klasy testowej
plik hpp:
#include <cppunit/extensions/HelperMacros.h>
class FooTest: public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE(FooTest);
CPPUNIT_TEST(testMethod);
CPPUNIT_TEST_SUITE_END();
public:
FooTest();
~FooTest();
void setUp();
void tearDown();
private:
void testMethod();
};
plik cpp:
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(FooTest, "nazwa_zestawu");
CPPUNIT_REGISTRY_ADD_TO_DEFAULT("nazwa_zestawu");
|
Makra testowe
CPPUNIT_ASSERT(warunek) |
Weryfikuje czy warunek ma wartość true
|
CPPUNIT_ASSERT_MESSAGE(komunikat, warunek) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia |
CPPUNIT_FAIL(komunikat) |
Wymusza niepowodzenie testu i wyświetla komunikat |
CPPUNIT_ASSERT_EQUAL(oczekiwana, faktyczna) |
Weryfikuje czy wartości oczekiwana i faktyczna są sobie równe |
CPPUNIT_ASSERT_EQUAL_MESSAGE(komunikat,oczekiwana, faktyczna) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia |
CPPUNIT_ASSERT_DOUBLES_EQUAL(oczekiwana, faktyczna, delta) |
Weryfikuje czy różnica wartości oczwkiwana i faktyczna typu double
jest nie większa niż delta |
CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(komunikat, oczekiwana, faktyczna, delta) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia |
|
|
Makra testowe - wyjątki
CPPUNIT_ASSERT_THROW(wyrażenie, typWyjątku) |
Weryfikuje czy wyrażenie rzuca wyjątek typu typWyjątku |
CPPUNIT_ASSERT_THROW_MESSAGE(komunikat, wyrażenie, typWyjątku) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia testu |
CPPUNIT_ASSERT_NO_THROW(wyrażenie) |
Weryfikuje czy wyrażenie nie rzuca wyjątku typu typWyjątku |
CPPUNIT_ASSERT_NO_THROW_MESSAGE(komunikat, wyrażenie) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia testu |
Makra testowe - asercje
CPPUNIT_ASSERT_ASSERTION_FAIL(asercja) |
Weryfikuje niepowodzenie asercji |
CPPUNIT_ASSERT_ASSERTION_FAIL_MESSAGE(komunikat, asercja) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia |
CPPUNIT_ASSERT_ASSERTION_PASS(asercja) |
Weryfikuje powodzenie asercji |
CPPUNIT_ASSERT_ASSERTION_PASS_MESSAGE(message, assertion) |
jw. oraz wyświetla komunikat w przypadku niepowodzenia |
Zestaw testów
CPPUNIT_TEST_SUITE(klasa) |
Rozpoczyna zestaw testów dla klasy |
CPPUNIT_TEST_SUITE_END() |
Kończy zestaw testów |
CPPUNIT_TEST_SUITE_SETUP(metoda) |
Rejestruje metodę wykonywaną tylko raz przed wszystkimi testami |
CPPUNIT_TEST_SUITE_TEARDOWN(metoda) |
Rejestruje metodę wykonywaną tylko raz po wszystkich testach |
CPPUNIT_TEST(metoda) |
Dodaje metodę do zestawu |
CPPUNIT_TEST_EXCEPTION(metoda, wyjątek) |
Dodaje do zestawu metodę, która powinna rzucić wyjątek |
CPPUNIT_TEST_FAIL(metoda) |
Dodaje do zestawu metodę, której test powinien zakończyć się niepowodzeniem |
|