py.test - Online di Cloud

Ini adalah perintah py.test 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 MELALUI PYTHON -M PY.UJI


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.test [...] langsung.

MENDAPATKAN MEMBANTU ON VERSI: KAPAN, PILIHAN NAMA, LINGKUNGAN VARIABEL


py.test --version # menunjukkan dari mana pytest diimpor
py.test --fixtures # tampilkan argumen fungsi bawaan yang tersedia
py.test -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 -x # berhenti setelah kegagalan pertama
py.test --maxfail=2 # berhenti setelah dua kegagalan

SPESIFIKASI UJI / MEMILIH UJI


Beberapa opsi uji coba:

py.test test_mod.py # menjalankan tes dalam modul
py.test somepath # jalankan semua tes di bawah somepath
py.test -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 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 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 --pyargs pkg # jalankan semua tes yang ditemukan di bawah direktori pypkg

MENGUBAH PYTHON MELACAK KEMBALI PERCETAKAN


Contoh untuk memodifikasi pencetakan traceback:

py.test --showlocals # tampilkan variabel lokal di tracebacks
py.test -l # tampilkan variabel lokal (pintasan)

py.test --tb=long # format traceback informatif default
py.test --tb=native # pemformatan pustaka standar Python
py.test --tb=short # format traceback yang lebih pendek
py.test --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.tes --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 -x --pdb # turun ke PDB pada kegagalan pertama, lalu akhiri sesi pengujian
py.test --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.test -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.test -s.

PROFIL UJI EKSEKUSI LAMANYA


Untuk mendapatkan daftar 10 durasi tes paling lambat:

py.test --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 --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 --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 --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 --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 seperti ini:

py.test -p no:doctest

MEMANGGIL PY.UJI 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" 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 online menggunakan layanan onworks.net



Program online Linux & Windows terbaru