2010-05-25 9 views
7

Czy można przeprowadzić test na żądanie przez interfejs sieciowy ... a jeśli tak, to w jaki sposób?Testy jednostek Pythona Perfoma za pomocą interfejsu sieciowego

EDIT: Na razie chcę wyniki ... do testów Chcę, żeby być zautomatyzowane ... prawdopodobnie za każdym razem wprowadzić zmiany w kodzie. Przepraszam, zapomniałem, aby było to bardziej zrozumiałe.

+0

Lubisz chcesz uruchomić testy z poziomu interfejsu internetowego, obejrzeć wyniki lub jedno i drugie? –

+0

@Eric: zobacz moją edycję – Stephen

Odpowiedz

8

EDIT:

Ta odpowiedź jest nieaktualne w tym momencie:

  • Zastosowanie Jenkins zamiast Hudson (to samo, nowa nazwa).
  • Użyj zamiast xmlrunner.py.

Link do django-jenkins przechodzi do ciekawego samouczka na temat używania Jenkinsa z Django. Zostawię poniższy tekst, ponieważ wciąż ma on kilka ciekawych informacji.


Jak powiedział Bryan, użyję Hudson zaplanować, biegać i zbierać wyniki testu. Możesz zmodyfikować swoje testy, aby użyć wersji xmlrunner.py (napisanej przez Sebastiana Rittau), która wyświetli wyniki twojego testu w pliku XML zgodnym z JUnit dla Hudsona.

Oto przykład, w jaki sposób kod testowy użyłby xmlrunner:

import unittest 
import xmlrunner 

class TheTest(unittest.TestCase): 

    def testOne(self): 
     self.assertEquals(1, 1) 
    def testTwo(self): 
     self.assertEquals(2, 2) 
    def testThree(self): 
     self.assertEquals(3, 4) 

if __name__ == '__main__': 
    suite = unittest.TestLoader().loadTestsFromTestCase(TheTest) 
    xmlrunner.XMLTestRunner().run(suite) 

Po zainstalowaniu Hudson, można utworzyć nowy projekt dla repozytorium źródłowego jesteś testowania. Musisz RTFM, ale w skrócie:

  1. Pod kodu źródłowego Management, musisz podać swoje dane repozytoria i uczynić go sondować repo okresowo (zwykle po prostu zrobić * * * * * więc sprawdza co minutę)
  2. Dodaj polecenie, które faktycznie uruchamia skrypt testowy (np. python test.py).
  3. Sprawdź raport wyników testu JUnit. Jeśli ma błąd taki jak 'TEST-*.xml' doesn't match anything, możesz go bezpiecznie zignorować. Będzie to wyglądać mniej więcej tak: JUnit Settings http://www.snowpeaksoftware.com/stuff/hudson_config.png

Kiedy to wszystko zrobić będzie można zobaczyć wyniki testu za każdym razem Hudson biegnie po check-in.Będzie to wyglądać mniej więcej tak:

Hudson Unit Test Results http://www.snowpeaksoftware.com/stuff/unittest_results.png

również uzyskać bardziej szczegółowe takich stron tej strony:

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed1.png

i tej strony:

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed2.png

4

Możesz użyć Hudson, aby zaplanować uruchamianie testów za każdym razem, gdy odpiszesz kod. Ponieważ Hudson to aplikacja internetowa, możesz zobaczyć wyniki za pośrednictwem Internetu (i/lub opublikować je i/lub przesłać je pocztą e-mail do Ciebie lub swojego zespołu).

Powiązane problemy