crpcut (ejtsd: "szar cut") a compartmented Robust Posix C ++ Unit Tester. A crpcut könnyű levelet vizsgálatokat, hogy más unit-teszt keretek nem tudja kezelni.
bevezető példa:
Egy példa tesztelés részei STD :: szöveg:
& Nbsp; #include
& Nbsp; #include
& Nbsp; struct apastr // rögzítés mosts tesztek
& Nbsp; {
& Nbsp; apastr (): s ("apa") {}
& Nbsp; std :: karakterlánc s;
& Nbsp;};
& Nbsp; tesztbázist (alapismeretek)
& Nbsp; {
& Nbsp; TEST (default_constr_and_destr)
& Nbsp; {
& Nbsp; std :: karakterlánc s;
& Nbsp; ASSERT_TRUE (s.empty ());
& Nbsp; ASSERT_EQ (s.length (), 0);
& Nbsp;}
& Nbsp; TEST (constr_from_char_array, apastr,
& Nbsp; DEPENDS_ON (default_constr_and_destr))
& Nbsp; {
& Nbsp; ASSERT_EQ (s.length (), 3UL);
& Nbsp;}
& Nbsp; TEST (at, apastr,
& Nbsp; DEPENDS_ON (default_constr_and_destr))
& Nbsp; {
& Nbsp; ASSERT_EQ (s.at (1), "p");
& Nbsp;}
& Nbsp;}
& Nbsp; tesztbázist (hibák, DEPENDS_ON (ALL_TESTS (alapismeretek)))
& Nbsp; {
& Nbsp; TEST (at_out_of_range, apastr,
& Nbsp; EXPECT_EXCEPTION (STD :: out_of_range))
& Nbsp; {
& Nbsp; s.at (4);
& Nbsp;}
& Nbsp; TEST (index_oper_out_of_range, apastr,
& Nbsp; EXPECT_SIGNAL_DEATH (SIGABRT),
& Nbsp; NO_CORE_FILE)
& Nbsp; {
& Nbsp; s [4];
& Nbsp;}
& Nbsp;}
& Nbsp; int main (int argc, char * argv [])
& Nbsp; {
& Nbsp; vissza crpcut :: test_case_factory :: run_test (argc, argv);
& Nbsp;}
Hasonló vizsgálatokat ellátásokat a csoportosított teszt-lakosztály. Test-lakosztályok is függ, más vizsgálati lakosztállyal, ami azt jelenti, hogy a szereplő tesztek csak akkor fut, ha minden tesztet függ már sikeresen lezárult. Az eredmények segítségével kell érvényesíteni számos ASSERT makrók. Tesztek használhatja berendezési tárgyak kifejezni közös tartalmak. Tesztek várhatóan kilép a kivétel, vagy meghal. Várakozásokat, hogy nem teljesülnek azok a hibák. Üzenetek a stderr és stdout van gaught, és szerepelnek az eredmény napló.
Miért crpcut
A legfontosabb, hogy legyen könnyű írni tesztek. A crpcut, összpontosítani a vizsgált szerkezetben és vizsgálati logika, nem a határok által kiszabott tesztkörnyezetben.
A crpcut minden teszt esetében fut a saját folyamatát, és saját munka könyvtárba. Ha a teszt nem sikerül, a folyamat azonnal leáll, mielőtt ez további károkat. Ez azt jelenti, hogy minden teszt esetén indul tiszta lappal, nem befolyásolja a többi vizsgálat. Ez a csoportosítási.
Ez azt is jelenti, hogy a tesztelés folytatódik, még akkor is, ha a teszt összeomlik. Beállíthatjuk, határidők teszt esetek, és ha a megengedett időt komolyan mínuszba, a teszt folyamatot sikerül leállítani. Ez a két alkotó robusztusság része.
Megadhatjuk közötti függőségek vizsgált esetek között tesztcsonagok, hogy ha alapvető vizsgálatok nem sikerül, a vizsgálatokat, amelyek alapján az alapvető funkciókat nem is lehet futtatni.
A crpcut fő folyamat nem rendelkezik dinamikus memória kiosztott idején egy teszt folyamat elindult, így futtatni crpcut memóriakártyát használ, a vizsgálati eszköz, mint például valgrind, és ha van memória mennyiségét, amikor a teszt folyamat befejeződik, akkor biztos lehet benne, hogy megtalálta a memóriavesztés a tesztet.
Ha van egy multi-core CPU, akkor hasznos lehet futtatni több vizsgálati esetek párhuzamosan. crpcut lehetővé teszi ezt.
Ha vannak fájlok maradt a vizsgálati folyamat "működő könyvtár, miután a teszt folyamat befejeződött, a vizsgálat ügy akkor minősül nem sikerült. A könyvtár a maradt érintetlenül crpcut, az Ön számára, hogy vizsgálja meg.
Mi az új ebben a kiadásban:
- Ez a változat támogatja eloszlás régi verziói CGyõzõdjön.
Mi az új verzióban 1.9.1:
- libcrpcut_basic.so épült, de nincs telepítve
Mi az új verzióban 1.8.4:
- Ez egy apró hibajavítás kiadás korrigálása valgrind műszerek problémák , teszt függőségek és a hibás vizsgálat időtartama attribútum XML jelentések.
Mi az új verzióban 1.8.2:
- Ez kisebb funkció erősítése teszi a parancssori paramétert - -timeout-szorzó = tényező most is van hatása a timeouts való rögzítést építési és megsemmisítése.
Mi az új v 1.8.1:
- Ez kisebb funkció erősítése teszi a parancssori paramétert - -timeout-szorzó = tényező most is van hatása a timeouts való rögzítést építési és megsemmisítése.
Mi az új verzióban 1.7.2:
- Ez a változat rögzíti a kisebb hiba a NO_CORE_FILE teszt módosító ami történt Linux, ha a / proc / sys / kernel / core_pattern leírt kivezethető a core dump programot a megtakarítással szemben egy fájlba.
Mi az új verzióban 1.6.1:
- Ez a javítást a hiba, hogy egyes esetekben okozott hibás XML-kibocsátás hiányzik szoros a blocked_tests listán.
Mi az új verzióban 1.6.0:
- Az új funkciók további opcionális paraméter ASSERT_THROW () és VERIFY_THROW (), amely ellenőrzi az értéke egy kivétel objektum, két istream_FAR alapú változata GET_PARAMETER (), hogy vegye értékeket át a parancssorból, és egy lehetőséget, hogy építsenek libcrpcut statikus vagy megosztott könyvtár.
Mi az új a 1.5.0 verzió:
- A fő újdonság a jelölési kísérletek. A címkék a teszt kiválasztási módszer merőleges, hogy a testsuites. Címkék is fel lehet használni, hogy különbséget tenni a teszt, amelyek kritikus (pl regressziók) és a vizsgálati, amelyek nem kritikus (pl a funkcionalitás jelenleg dolgozott.)
- A kísérleti támogatás is rendelkezésre áll díszítésére vizsgálati jelentéseket, például ANSI-szín menekül.
Hozzászólás nem található