Enhet tester i Python

stemmer
18

Har Python har en enhet testing rammeverk kompatibel med standard xUnit stil test rammeverk? Hvis ja, hva er det, der er det, og er det noe bra?

Publisert på 31/08/2008 klokken 05:07
kilden bruker
På andre språk...                            


9 svar

stemmer
24

Python har flere tester rammer, blant annet unittest, doctestog nose. Den mest xUnit-lignende er unittest, som er dokumentert på Python.org.

Svarte 31/08/2008 kl. 05:09
kilden bruker

stemmer
9

Jeg anbefaler nese .

Det er den mest Pytonske av enheten testen rammer. Testen løperen går både doctests og unittests, slik at du står fritt til å bruke uansett stil test du vil.

Svarte 01/09/2008 kl. 08:30
kilden bruker

stemmer
3

Det er testoob som er ganske komplett pakke med test.Also xUnit-ie, og har en fin rapporteringsalternativ

Svarte 31/08/2008 kl. 05:20
kilden bruker

stemmer
2

Tenk py.test . Ikke akkurat analog til NUnit, men veldig bra, med fine funksjoner, inkludert test auto-oppdagelse og en "Se testene og kode -. Når noe endringer kjøre testene som feilet siste gang Så snart alle testene passere, bytte til å kjøre alle testene når somethings endringer." alternativ.

Svarte 31/08/2008 kl. 11:53
kilden bruker

stemmer
2

@Greg: PyUnit er inkludert i standardbiblioteket som unittest

Svarte 31/08/2008 kl. 05:37
kilden bruker

stemmer
1

Jeg anbefaler Nose.

Etter rimelig enkel installasjon, er det bare å kjøre "nosetests" i prosjektmappen og nesen vil finne alle testene og kjøre dem. Jeg liker også samling av plugins (dekning, GAE, etc.) og abilty å ringe Nose direkte fra mine Python-skript.

Svarte 21/08/2009 kl. 04:41
kilden bruker

stemmer
0

nese synes å være den beste kombinasjonen av fleksibilitet og brukervennlighet. Den går unittests, doctests, dekning (med en forlengelse) og py.test lignende prøver fra ett rammeverk og gjør det beundringsverdig. Det har nok populariteten at det har hatt noen IDE integrasjon gjort også for Komodo Edit, og jeg ville ikke bli overrasket over å se det andre steder også.

Jeg liker det for en sterk grunn: jeg nesten alltid doctest før du skriver mer omfattende tester i en annen ramme. Dette er fordi, for grunnleggende tester, doctests slå to fluer i ett smekk. Du får kjør tester (selv om de er litt klønete å skrive godt noen ganger) samt API dokumentasjon og interaktiv dokumentasjon på samme tid. nese vil kjøre disse med den medfølgende doctest forlengelse når du bruker et kommandolinjealternativet (--with-doctest).

Jeg sier dette etter å ha kommet fra py.test som min tidligere favoritt. Mens det er flott, nese testene er like nok for meg at jeg ikke gå glipp av det, og jeg liker integrering av de ulike testmetoder under ett tak, så å si. YMMV, men jeg anbefaler å ta en god titt på nesen før du velger en annen. Hvis du ikke er kjent med py.test tester, bør du se på dem også. Jeg synes de er veldig bra fordi de er vanligvis skrevet på en slik måte at de lett kan feilsøkt uten testing rammeverk, som gjør en mindre vanskelig system involvert i debugging økt. Jeg finner det alene uvurderlig, mens de er også lettere å skrive enn unittest tester i min mening.

Svarte 03/02/2010 kl. 19:15
kilden bruker

stemmer
0

Aldri brukt xUnit, så jeg kan ikke fortelle deg om rammene er gode / dårlige comparativly, men her er et script jeg skrev som bruker unittest rammeverk (for å sjekke API fungerer som den skal), og doctest (for å sjekke eksemplene jeg har gitt arbeid)

Mitt eneste problem er å sjekke noe hever et unntak er litt convoluted (du må passere det en funksjon / lambda som hever unntaket, snarere enn bare selve kommandoen, som resten av rammeverket) .. Annet enn det, det gjør det det skal, pålitelig, og det har vært inkludert i standard python distribusjon i ganske lang tid.

Svarte 31/08/2008 kl. 12:44
kilden bruker

stemmer
0

Det er også PyUnit som kan være det du leter etter.

Svarte 31/08/2008 kl. 05:35
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more