crpcut

Screenshot Software:
crpcut
Detalii soft:
Versiune: 1.9.2
Incarca data: 20 Feb 15
Producător: Bjorn Fahller
Licenţă: Gratuit
Popularitate: 77

Rating: 3.0/5 (Total Votes: 2)

crpcut (pronunțat "rahat tăiat") este compartimentat Robust Posix C ++ Unit testerului. Cu crpcut e ușor să scrie teste care alte cadre de unitate-test nu poate gestiona.
Exemplu introductivă:
Un exemplu testarea părți ale std :: string:
& Nbsp; # include
& Nbsp; # include
& Nbsp; struct apastr // fixare pentru încercări mosts
& Nbsp; {
& Nbsp; apastr (): s ("apa") {}
& Nbsp; std :: string s;
& Nbsp;};
& nbsp; TestSuite (Noțiuni de bază)
& Nbsp; {
& Nbsp; TEST (default_constr_and_destr)
& Nbsp; {
& Nbsp; std :: string 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 (la, apastr,
& Nbsp; DEPENDS_ON (default_constr_and_destr))
& Nbsp; {
& Nbsp; ASSERT_EQ (s.at (1), "p");
& Nbsp;}
& Nbsp;}
& nbsp; TestSuite (erori, DEPENDS_ON (ALL_TESTS (Elemente de bază)))
& 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; a reveni crpcut :: test_case_factory :: run_test (argc, argv);
& Nbsp;}
Teste similare beneficiază de a fi grupate în testare apartamente. Test-suite pot depinde de alte teste-suite, ceea ce înseamnă că testele prevăzute va rula doar dacă toate testele se depinde au finalizat cu succes. Rezultatele pot fi validate utilizând un număr de macro-uri afirma. Testele pot folosi corpuri de a exprima conținutul comune. Testele pot fi de așteptat pentru a ieși de excepție, sau mor. Așteptările că nu sunt îndeplinite sunt erori. Mesajele de pe stderr și stdout sunt gaught, și incluse în jurnalul rezultat.
De ce crpcut
Cel mai important, trebuie să fie ușor de a scrie teste. Cu crpcut, să vă concentrați pe structura de testare și încercare logica ta, nu pe limitele impuse de mediul de încercare.
Cu crpcut, fiecare caz test rulează în propriul proces și directorul său de lucru propriu. În cazul în care un caz test eșuează, procesul se termina imediat, înainte de a face rău în continuare. Acest lucru înseamnă că fiecare caz de testare pornește de la o tabula rasa, neafectat de alte teste. Aceasta este compartimentarii.
Aceasta înseamnă, de asemenea că suita de teste continuă, chiar dacă un test blochează. Puteți seta termene pentru cazuri de testare, iar în cazul în care termenul acordat este serios exagerata, procesul de caz test este ucis. Aceste două formează partea robustețe.
Puteți defini dependențe între cazuri de testare și între apartamente de testare, astfel încât dacă un testele fundamentale nu, testele care se bazează pe funcționalitatea fundamentală nu va mai fi rulat.
Procesul principal crpcut nu are nici o memorie dinamică alocate la timp un proces caz test este pornit, astfel încât să puteți rula crpcut folosind un instrument de test de memorie, cum ar fi Valgrind, iar în cazul în care există este alocată memorie când procesul caz test se termină, tu pot fi siguri că ați găsit o scurgere de memorie în test.
Dacă aveți un procesor multi-core, poate fi benefic pentru a rula mai multe cazuri de testare în paralel. crpcut permite acest lucru.
Dacă există fișiere rămase în procesul de testare "directorul de lucru după procesul de caz test a reziliat, caz test este considerat a eșuat. Directorul de lucru este lăsat neatins de crpcut, pentru a vă examina

Ce este nou în această versiune:.

  • Această versiune sprijină distribuții cu versiuni vechi de CMake.

Ce este nou în versiunea 1.9.1:

  • libcrpcut_basic.so a fost construit dar nu sunt instalate

Ce este nou în versiunea 1.8.4:

  • Aceasta este o versiune bugfix minor corectarea problemelor Valgrind instrumentație , dependențe de testare și defect atribut durata testului în rapoartele XML.

Ce este nou în versiunea 1.8.2:

  • Acest accesoriu minor caracteristică face parametrul liniei de comandă - -timeout-multiplicator = factorul de acum, de asemenea, efect asupra timeout pentru constructii de prindere și distrugere.

Ce este nou în versiunea 1.8.1:

  • Acest accesoriu minor caracteristică face parametrul liniei de comandă - -timeout-multiplicator = factorul de acum, de asemenea, efect asupra timeout pentru constructii de prindere și distrugere.

Ce este nou în versiunea 1.7.2:

  • Această versiune rezolvă o problemă minoră cu testul NO_CORE_FILE modificator care a avut loc pe Linux când / proc / sys / kernel / core_pattern descris conducte groapa de bază a unui program de economisire, mai degrabă decât într-un fișier.

Ce este nou în versiunea 1.6.1:

  • Acesta este un patch pentru un bug care în unele cazuri cauzat incorectă XML de ieșire prin lipsa unui apropiat pe lista blocked_tests.

Ce este nou în versiunea 1.6.0:

  • Noile caracteristici sunt un parametru opțional suplimentar pentru ASSERT_THROW () și VERIFY_THROW (), care verifică valoarea unui obiect excepție, versiunea doi istream bazat de GET_PARAMETER () pentru a alege valorile trecut de la linia de comandă, precum și o opțiune de a construi libcrpcut bibliotecă statică sau partajat.

Ce este nou în versiunea 1.5.0:

  • Caracteristica majoră nouă este tagging de teste. Tag-uri sunt o metodă de selecție încercare ortogonală cu cea a testsuites. Etichetele pot fi de asemenea folosite pentru a distinge între test care sunt critice (de exemplu, regresii) și test care sunt non-critice (de exemplu, funcționalitatea lucrat în prezent pe.)
  • suport experimental este de asemenea disponibil pentru decorarea rapoarte de încercare cu, de exemplu, scapă ANSI-color.

Software similare

DoctorJ
DoctorJ

11 May 15

gar
gar

11 May 15

tl.testing
tl.testing

15 Apr 15

sst
sst

14 Apr 15

Comentarii la crpcut

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!