Ini adalah perintah py.test-3 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
pytest - penggunaan pytest
MEMANGGIL PY.UJI-3 MELALUI PYTHON -M PY.UJI-3
Baru di versi 2.0.
Jika Anda menggunakan Python-2.5 atau lebih baru, Anda dapat meminta pengujian melalui juru bahasa Python dari
baris perintah:
python -m pytest [...]
Ini setara dengan menjalankan skrip baris perintah py.tes-3 [...] langsung.
MENDAPATKAN MEMBANTU ON VERSI: KAPAN, PILIHAN NAMA, LINGKUNGAN VARIABEL
py.test-3 --version # menunjukkan dari mana pytest diimpor
py.test-3 --fixtures # tampilkan argumen fungsi bawaan yang tersedia
py.test-3 -h | --help # tampilkan bantuan pada baris perintah dan opsi file konfigurasi
HENTI SETELAH THE PERTAMA (ATAU N) KEGAGALAN
Untuk menghentikan proses pengujian setelah kegagalan (N) pertama:
py.test-3 -x # berhenti setelah kegagalan pertama
py.test-3 --maxfail=2 # berhenti setelah dua kegagalan
SPESIFIKASI UJI / MEMILIH UJI
Beberapa opsi uji coba:
py.test-3 test_mod.py # menjalankan tes dalam modul
py.test-3 somepath # jalankan semua tes di bawah somepath
py.test-3 -k stringexpr # hanya menjalankan tes dengan nama yang cocok dengan
# "ekspresi string", misalnya "MyClass dan bukan metode"
# akan memilih TestMyClass.test_something
# tetapi bukan TestMyClass.test_method_simple
py.test-3 test_mod.py::test_func # hanya menjalankan tes yang cocok dengan "ID simpul",
# misalnya "test_mod.py::test_func" akan memilih
# hanya test_func di test_mod.py
py.test-3 test_mod.py::TestClass::test_method # jalankan satu metode di
# satu kelas
Impor 'pkg' dan gunakan lokasi sistem filenya untuk menemukan dan menjalankan tes:
py.test-3 --pyargs pkg # jalankan semua tes yang ditemukan di bawah direktori pypkg
MENGUBAH PYTHON MELACAK KEMBALI PERCETAKAN
Contoh untuk memodifikasi pencetakan traceback:
py.test-3 --showlocals # tampilkan variabel lokal di tracebacks
py.test-3 -l # tampilkan variabel lokal (pintasan)
py.test-3 --tb=long # format traceback informatif default
py.test-3 --tb=native # pemformatan pustaka standar Python
py.test-3 --tb=short # format traceback yang lebih pendek
py.test-3 --tb=line # hanya satu baris per kegagalan
JATUHAN UNTUK PDB (PITON DEBUGER) ON KEGAGALAN
Python hadir dengan debugger Python bawaan yang disebut PDB. uji coba memungkinkan seseorang untuk jatuh ke dalam
itu PDB Prompt melalui opsi baris perintah:
py.test-3 --pdb
Ini akan memanggil debugger Python pada setiap kegagalan. Seringkali Anda mungkin hanya ingin melakukannya
ini untuk tes gagal pertama untuk memahami situasi kegagalan tertentu:
py.test-3 -x --pdb # drop ke PDB pada kegagalan pertama, lalu akhiri sesi pengujian
py.test-3 --pdb --maxfail=3 # turun ke PDB untuk tiga kegagalan pertama
Perhatikan bahwa pada setiap kegagalan, informasi pengecualian disimpan di sys.nilai_last,
sys.last_type dan sys.last_traceback. Dalam penggunaan interaktif, ini memungkinkan seseorang untuk mampir
debugging postmortem dengan alat debug apa pun. Seseorang juga dapat mengakses pengecualian secara manual
informasi, misalnya:
>>> sistem impor
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError('tegaskan hasil == "ok"',)
SETTING A BREAKPOIN / AKA SET_TRACE()
Jika Anda ingin mengatur breakpoint dan masukkan pdb.set_trace() anda dapat menggunakan pembantu:
impor pytest
def tes_fungsi():
...
pytest.set_trace() # aktifkan debugger dan penelusuran PDB
Sebelum pytest versi 2.0.0 Anda hanya bisa masuk PDB melacak jika Anda menonaktifkan pengambilan
di baris perintah melalui py.tes-3 -s. Di versi yang lebih baru, pytest secara otomatis menonaktifkan
tangkapan keluaran saat Anda masuk PDB pelacakan:
· Pengambilan output dalam tes lain tidak terpengaruh.
· Setiap keluaran pengujian sebelumnya yang telah ditangkap dan akan diproses seperti itu.
· Setiap keluaran selanjutnya yang dihasilkan dalam pengujian yang sama tidak akan ditangkap dan sebaliknya akan mendapatkan
dikirim langsung ke sys.stdout. Perhatikan bahwa ini berlaku bahkan untuk keluaran pengujian yang terjadi
setelah Anda keluar dari interaktif PDB sesi penelusuran dan lanjutkan dengan tes reguler
menjalankan.
Sejak pytest versi 2.4.0 Anda juga dapat menggunakan Python asli mengimpor pdb;pdb.set_trace()
panggilan untuk masuk PDB melacak tanpa harus menggunakan pytest.set_trace() pembungkus atau
secara eksplisit menonaktifkan tangkapan keluaran pytest melalui py.tes-3 -s.
PROFIL UJI EKSEKUSI LAMANYA
Untuk mendapatkan daftar 10 durasi tes paling lambat:
py.test-3 --durasi=10
MENCIPTAKAN JUNITXML FORMAT FILE
Untuk membuat file hasil yang dapat dibaca oleh Hudson atau integrasi berkelanjutan lainnya
server, gunakan permintaan ini:
py.test-3 --junitxml=jalur
untuk membuat file XML di path.
record_xml_properti
Baru di versi 2.8.
Jika Anda ingin mencatat informasi tambahan untuk ujian, Anda dapat menggunakan record_xml_properti
fitting:
def test_function(record_xml_property):
record_xml_property("example_key", 1)
menegaskan 0
Ini akan menambah properti tambahan contoh_kunci="1" ke yang dihasilkan uji kasus menandai:
PERINGATAN:
Ini adalah fitur eksperimental, dan antarmukanya mungkin diganti dengan sesuatu yang lebih
kuat dan umum dalam versi masa depan. Fungsionalitas itu sendiri akan disimpan,
namun.
Saat ini tidak berfungsi saat digunakan dengan pytest-xdist plugin.
Harap perhatikan juga bahwa menggunakan fitur ini akan merusak verifikasi skema apa pun. Ini
mungkin menjadi masalah saat digunakan dengan beberapa server CI.
MENCIPTAKAN HASILLOG FORMAT FILE
Untuk membuat file hasil yang dapat dibaca mesin teks biasa, Anda dapat mengeluarkan:
py.test-3 --resultlog=jalur
dan lihat isinya di path lokasi. File tersebut digunakan misalnya oleh Uji PyPy
halaman web untuk menampilkan hasil tes selama beberapa revisi.
MENGIRIM UJI LAPORAN UNTUK ONLINE PASTEBIN LAYANAN
membuat a URL untuk setiap uji kegagalan:
py.test-3 --pastebin=gagal
Ini akan mengirimkan informasi uji coba ke layanan Tempel jarak jauh dan memberikan URL untuk masing-masing
kegagalan. Anda dapat memilih tes seperti biasa atau menambahkan misalnya -x jika Anda hanya ingin mengirim satu
kegagalan tertentu.
membuat a URL untuk a seluruh uji Sidang mencatat:
py.test-3 --pastebin=semua
Saat ini hanya menempel ke http://bpaste.net layanan dilaksanakan.
MENONAKTIFKAN PLUGINS
Untuk menonaktifkan pemuatan plugin tertentu pada waktu pemanggilan, gunakan -p pilihan bersama dengan
awalan in:.
Contoh: untuk menonaktifkan pemuatan plugin paling teruji, yang bertanggung jawab untuk menjalankan doctest
tes dari file teks, aktifkan py.test-3 seperti ini:
py.test-3 -p no:doctest
MEMANGGIL PY.UJI-3 DARI PYTHON KODE
Baru di versi 2.0.
Anda dapat memanggil uji coba dari kode Python secara langsung:
pytest.main()
ini bertindak seolah-olah Anda akan memanggil "py.test-3" dari baris perintah. Itu tidak akan menaikkan
SistemKeluar tetapi kembalikan kode keluar sebagai gantinya. Anda dapat memberikan opsi dan argumen:
pytest.main(['-x', 'mytestdir'])
atau berikan string:
pytest.main("-x mytestdir")
Anda dapat menentukan plugin tambahan untuk pytest.main:
# konten myinvoke.py
impor pytest
kelas MyPlugin:
def pytest_sessionfinish(sendiri):
print("*** penyelesaian laporan uji coba")
pytest.main("-qq", plugins=[MyPlugin()])
Menjalankannya akan menunjukkan bahwa Plugin Saya telah ditambahkan dan kaitnya dipanggil:
$python myinvoke.py
*** penyelesaian laporan uji coba
Gunakan py.test-3 online menggunakan layanan onworks.net