To jest polecenie py.test-3, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
pytest — użycie pytestu
ZAPROSZENIA PY.TEST-3 PRZEZ PYTON -M PY.TEST-3
Nowość w wersji 2.0.
Jeśli używasz Pythona 2.5 lub nowszego, możesz wywołać testowanie za pomocą interpretera Pythona z
linia poleceń:
python -m pytest [...]
Jest to równoznaczne z wywołaniem skryptu wiersza poleceń py.test-3 [...] bezpośrednio.
DOSTAĆ POMÓC ON WERSJA, OPCJA NAZWY, ŚRODOWISKO ZMIENNE
py.test-3 --version # pokazuje, skąd został zaimportowany pytest
py.test-3 --fixtures # pokazuje dostępne argumenty wbudowanej funkcji
py.test-3 -h | --help # wyświetla pomoc dotyczącą linii poleceń i opcji pliku konfiguracyjnego
ZATRZYMANIE PO THE PIERWSZY (LUB N) AWARIE
Aby zatrzymać proces testowania po pierwszych (N) awariach:
py.test-3 -x # zatrzymaj po pierwszym niepowodzeniu
py.test-3 --maxfail=2 # zatrzymaj po dwóch niepowodzeniach
OKREŚLANIE TESTY / WYBIERANIE TESTY
Kilka opcji przebiegu testowego:
py.test-3 test_mod.py # uruchom testy w module
py.test-3 jakaśścieżka # uruchom wszystkie testy poniżej jakiejśścieżki
py.test-3 -k stringexpr # uruchamia tylko testy o nazwach pasujących do
# „wyrażenie łańcuchowe”, np. „MojaKlasa, a nie metoda”
# wybierze TestMyClass.test_something
# ale nie TestMyClass.test_method_simple
py.test-3 test_mod.py::test_func # uruchamiaj tylko testy pasujące do „identyfikatora węzła”,
# np. „test_mod.py::test_func” wybierze
# tylko test_func w test_mod.py
py.test-3 test_mod.py::TestClass::test_method # uruchom pojedynczą metodę w
# jedna klasa
Zaimportuj „pkg” i użyj jego lokalizacji w systemie plików, aby znaleźć i uruchomić testy:
py.test-3 --pyargs pkg # uruchom wszystkie testy znajdujące się w katalogu pypkg
MODYFIKACJA PYTON ŚLAD POWROTNY NADRUKI
Przykłady modyfikacji drukowania śledzenia wstecznego:
py.test-3 --showlocals # pokazuje zmienne lokalne w śladach wstecznych
py.test-3 -l # pokaż zmienne lokalne (skrót)
py.test-3 --tb=long # domyślne informacyjne formatowanie śledzenia wstecznego
py.test-3 --tb=native # formatowanie standardowej biblioteki Pythona
py.test-3 --tb=short # krótszy format śledzenia wstecznego
py.test-3 --tb=line # tylko jedna linia na błąd
RZUT DO PDB (PYTON DEBUGGER) ON AWARIE
Python jest dostarczany z wbudowanym debuggerem Pythona o nazwie PDB. test pozwala wpaść
dotychczasowy PDB monit za pomocą opcji wiersza poleceń:
py.test-3 --pdb
Spowoduje to wywołanie debugera Pythona przy każdej awarii. Często możesz tylko chcieć to zrobić
to dla pierwszego testu zakończonego niepowodzeniem, aby zrozumieć pewną sytuację niepowodzenia:
py.test-3 -x --pdb # upuść do PDB przy pierwszej awarii, a następnie zakończ sesję testową
py.test-3 --pdb --maxfail=3 # upuść do PDB dla pierwszych trzech błędów
Należy zauważyć, że w przypadku każdej awarii informacje o wyjątku są przechowywane sys.ostatnia_wartość,
sys.last_type i sys.last_traceback. W interaktywnym użyciu pozwala to wpaść
debugowanie pośmiertne za pomocą dowolnego narzędzia do debugowania. Dostęp do wyjątku można również uzyskać ręcznie
informacje, na przykład:
>>> import sys
>>> sys.last_traceback.tb_linenr
42
>>> sys.ostatnia_wartość
AssertionError('potwierdzenie wyniku == "ok"',)
OPRAWA A PUNKT PRZERWANIA / AKA SET_TRACE()
Jeśli chcesz ustawić punkt przerwania i wprowadzić plik pdb.set_trace() możesz użyć pomocnika:
importuj pytest
def funkcja_testowa():
...
pytest.set_trace() # wywołaj debugger i śledzenie PDB
Przed wersją pytest 2.0.0 można było tylko wejść PDB śledzenia, jeśli wyłączyłeś przechwytywanie
w wierszu poleceń przez py.test-3 -s. W późniejszych wersjach pytest automatycznie wyłącza jego
przechwytywanie wyjścia po wejściu PDB rysunek kalkowy:
· Nie ma to wpływu na przechwytywanie danych wyjściowych w innych testach.
· Wszelkie dane wyjściowe z wcześniejszego testu, które zostały już przechwycone i będą przetwarzane jako takie.
· Wszelkie późniejsze dane wyjściowe wytworzone w ramach tego samego testu nie zostaną przechwycone i zamiast tego zostaną przechwycone
wysłane bezpośrednio do sys.stdout. Należy zauważyć, że jest to prawdą nawet w przypadku danych wyjściowych testu
po wyjściu z interaktywnego PDB sesji śledzenia i kontynuuj zwykły test
uruchomić.
Od wersji pytest 2.4.0 możesz także używać natywnego Pythona importować pdb;pdb.set_trace()
zadzwoń, aby wejść PDB śledzenia bez konieczności używania pytest.set_trace() opakowanie lub
jawnie wyłącz przechwytywanie danych wyjściowych pytest przez py.test-3 -s.
PROFILOWY TESTOWANIE WYKONANIE TRWANIE
Aby uzyskać listę 10 najwolniejszych czasów trwania testu:
py.test-3 --durations=10
TWORZENIE JUNITXML FORMAT AKTA
Aby utworzyć pliki wynikowe, które można odczytać Hudson lub inna ciągła integracja
serwery, użyj tego wywołania:
py.test-3 --junitxml=ścieżka
utworzyć plik XML w ścieżka.
właściwość_xml_rekordu
Nowość w wersji 2.8.
Jeśli chcesz zarejestrować dodatkowe informacje do testu, możesz użyć właściwość_xml_rekordu
osprzęt:
def funkcja_testowa(właściwość_rekordu_xml):
record_xml_property("przykład_klucz", 1)
stwierdzić 0
Spowoduje to dodanie dodatkowej właściwości example_key="1" do wygenerowanych przypadek testowy etykietka:
UWAGA:
Jest to funkcja eksperymentalna, a jej interfejs może zostać zastąpiony czymś więcej
potężny i ogólny w przyszłych wersjach. Funkcjonalność jako taka zostanie zachowana,
jednak.
Obecnie nie działa, gdy jest używany z pytest-xdist wtyczki.
Należy również pamiętać, że użycie tej funkcji spowoduje przerwanie weryfikacji schematu. Ten
może stanowić problem, gdy jest używany z niektórymi serwerami CI.
TWORZENIE DZIENNIK WYNIKÓW FORMAT AKTA
Aby utworzyć pliki wynikowe w postaci zwykłego tekstu do odczytu maszynowego, możesz wydać:
py.test-3 --resultlog=ścieżka
i zapoznaj się z treścią w ścieżka Lokalizacja. Pliki takie wykorzystywane są m.in Test PyPy
strona internetowa, aby pokazać wyniki testów w kilku wersjach.
WYSYŁANIE TESTOWANIE SPRAWOZDANIE DO ONLINE WKLEJ SERWIS
Tworzenie a URL dla każdy test brak:
py.test-3 --pastebin=niepowodzenie
Spowoduje to przesłanie informacji o uruchomieniu testu do zdalnej usługi wklejania i podanie adresu URL dla każdej z nich
awaria. Możesz wybrać testy jak zwykle lub dodać np -x jeśli chcesz wysłać tylko jeden
konkretna porażka.
Tworzenie a URL dla a cały test Sesja log:
py.test-3 --pastebin=wszystko
Obecnie tylko wklejanie do http://bpaste.net usługa jest realizowana.
WYŁĄCZENIE WTYCZKI
Aby wyłączyć ładowanie określonych wtyczek w czasie wywołania, użyj pliku -p opcja razem z
przedrostek no:.
Przykład: aby wyłączyć ładowanie wtyczki doktór, który jest odpowiedzialny za wykonanie doctest
testy z plików tekstowych wywołaj py.test-3 w ten sposób:
py.test-3 -p nr: doktest
ZAPROSZENIA PY.TEST-3 OD PYTON KOD
Nowość w wersji 2.0.
Możesz się przywołać test bezpośrednio z kodu Pythona:
pytest.main()
działa to tak, jakbyś wywołał „py.test-3” z wiersza poleceń. Nie podniesie
SystemExit ale zamiast tego zwróć kod wyjścia. Możesz przekazać opcje i argumenty:
pytest.main(['-x', 'mójkatalog_testowy'])
lub przekaż ciąg znaków:
pytest.main("-x mój katalogtestowy")
Możesz określić dodatkowe wtyczki do pytest.main:
# zawartość pliku myinvoke.py
importuj pytest
klasa Moja wtyczka:
def pytest_sessionfinish(self):
print("*** przebieg testowy zgłasza zakończenie")
pytest.main("-qq", plugins=[MyPlugin()])
Uruchomienie to pokaże Moja wtyczka został dodany i wywołano jego hak:
$ python myinvoke.py
*** przebieg testowy zgłasza zakończenie
Użyj py.test-3 online, korzystając z usług onworks.net