2013-09-27 28 views
5

Po uruchomieniu testów w nosie, chciałbym wyświetlić nazwę pliku i numer linii samego testu, szczególnie gdy się zawiedzie, w wierszu poleceń, abym mógł przeskoczyć do linii w emacs. Wstawiłem kod do case.py, aby wydrukować nazwę, widzę, że mogę stworzyć wtyczkę, która obsługuje program prepareTestCase, ale moje pytanie brzmi: czy istnieje wtyczka, która by to zrobiła?Jak wydrukować nazwę pliku i numer linii testu w języku python?

tutaj jest mój kod: nos/case.py:

import inspect 

... 

def runTest(self, result): 

... 

if not isinstance(test,Failure): 
    print(" File \"%s\", line %s\n" % (
     inspect.getsourcefile(test.test), 
     inspect.getsourcelines(test.test)[1])) 

Odpowiedz

6

można uzyskać nazwę pliku nazwą testu i testowanego właśnie uruchamiając nosetest z -v opcji. Ponadto, testy, które zawiedzieją, powodują zrzucenie pełnego śledzenia stosu przy błędzie (który ma numery linii). Możesz również użyć opcji --pdb i --pdb-failure, aby dostać się do debugera pdb natychmiast po błędzie lub niepowodzeniu testu.

Nose-progressive Wtyczka ma wiele dzwonków i gwizdek w zakresie formatowania wyników testów, w tym zmiany szablonu w celu spełnienia dowolnego edytora. Sprawdź także to rozszerzenie nazwy emacs nosemacs, aby zapewnić łatwą integrację z nosem. A jeśli chcesz tylko numery linii, nose-machineout jest twoim przyjacielem.

+0

Dzięki! Sprawdzę to i zagłosuję. – user2646177