EnglishFrenchSpanyol

Favicon OnWorks

py.test - Dalam talian dalam Awan

Jalankan py.test dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan py.test yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

JADUAL:

NAMA


pytest - penggunaan pytest

MEMANGGIL UJIAN PY MELALUI PYTHON -M UJIAN PY


Baru dalam versi 2.0.

Jika anda menggunakan Python-2.5 atau lebih baru, anda boleh menggunakan ujian melalui penterjemah Python dari
baris arahan:

python -m pytest [...]

Ini bersamaan dengan menggunakan skrip baris arahan py.test [...] secara langsung.

MENDAPAT BANTU ON VERSI, OPTION NAMA, PERSEKITARAN PELBAGAI


py.test --version # menunjukkan dari mana pytest diimport
py.test --fixtures # tunjukkan hujah fungsi terbina yang tersedia
py.test -h | --help # tunjukkan bantuan pada baris arahan dan pilihan fail konfigurasi

BERHENTI SELEPAS THE PERTAMA (ATAU N) KEGAGALAN


Untuk menghentikan proses ujian selepas kegagalan (N) pertama:

py.test -x # berhenti selepas kegagalan pertama
py.test --maxfail=2 # berhenti selepas dua kegagalan

MENYERTAI UJIAN / MEMILIH UJIAN


Beberapa pilihan larian ujian:

py.test test_mod.py # jalankan ujian dalam modul
py.test somepath # jalankan semua ujian di bawah somepath
py.test -k stringexpr # hanya menjalankan ujian dengan nama yang sepadan dengan
# "ungkapan rentetan", cth "MyClass dan bukan kaedah"
# akan memilih TestMyClass.test_something
# tetapi bukan TestMyClass.test_method_simple
py.test test_mod.py::test_func # hanya jalankan ujian yang sepadan dengan "ID nod",
# cth "test_mod.py::test_func" akan memilih
# hanya test_func dalam test_mod.py
py.test test_mod.py::TestClass::test_method # jalankan satu kaedah dalam
# satu kelas

Import 'pkg' dan gunakan lokasi sistem failnya untuk mencari dan menjalankan ujian:

py.test --pyargs pkg # jalankan semua ujian yang terdapat di bawah direktori pypkg

MENGUBAH SUAI PYTHON MENGESAN BALIK PERCETAKAN


Contoh untuk mengubah suai cetakan surih:

py.test --showlocals # tunjukkan pembolehubah tempatan dalam surih balik
py.test -l # tunjukkan pembolehubah setempat (pintasan)

py.test --tb=long # pemformatan jejak balik bermaklumat lalai
py.test --tb=native # pemformatan perpustakaan standard Python
py.test --tb=short # format jejak balik yang lebih pendek
py.test --tb=line # hanya satu baris setiap kegagalan

MENJATUHKAN KEPADA PDB (PYTHON DEBUGGER) ON KEGAGALAN


Python disertakan dengan debugger Python terbina yang dipanggil PDB. pytest membolehkan seseorang jatuh ke dalam
yang PDB gesaan melalui pilihan baris arahan:

py.test --pdb

Ini akan menggunakan penyahpepijat Python pada setiap kegagalan. Selalunya anda mungkin hanya mahu melakukannya
ini untuk ujian gagal pertama untuk memahami situasi kegagalan tertentu:

py.test -x --pdb # jatuhkan ke PDB pada kegagalan pertama, kemudian tamatkan sesi ujian
py.test --pdb --maxfail=3 # jatuhkan ke PDB untuk tiga kegagalan pertama

Ambil perhatian bahawa pada sebarang kegagalan maklumat pengecualian disimpan sys.last_value,
sys.last_type and sys.last_traceback. Dalam penggunaan interaktif, ini membolehkan seseorang untuk jatuh ke
nyahpepijat postmortem dengan sebarang alat nyahpepijat. Seseorang juga boleh mengakses pengecualian secara manual
maklumat, contohnya:

>>> import sys
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError('assert result == "ok"',)

SETTING A TITIK PECAH / Aka SET_TRACE()


Jika anda ingin menetapkan titik putus dan masukkan pdb.set_trace() anda boleh menggunakan pembantu:

import pytest
def test_function():
...
pytest.set_trace() # gunakan penyahpepijat dan pengesanan PDB

Sebelum pytest versi 2.0.0 anda hanya boleh masuk PDB mengesan jika anda melumpuhkan menangkap
pada baris arahan melalui py.test -s. Dalam versi kemudian, pytest menyahdayakannya secara automatik
tangkapan keluaran apabila anda masuk PDB mengesan:

· Tangkapan output dalam ujian lain tidak terjejas.

· Sebarang keluaran ujian terdahulu yang telah ditangkap dan akan diproses sedemikian.

· Sebarang output kemudian yang dihasilkan dalam ujian yang sama tidak akan ditangkap dan sebaliknya akan mendapat
dihantar terus ke sys.stdout. Ambil perhatian bahawa ini berlaku walaupun untuk output ujian yang berlaku
selepas anda keluar dari interaktif PDB sesi mengesan dan meneruskan ujian biasa
berjalan.

Sejak pytest versi 2.4.0 anda juga boleh menggunakan Python asli mengimport pdb;pdb.set_trace()
panggil masuk PDB mengesan tanpa perlu menggunakan pytest.set_trace() pembalut atau
melumpuhkan secara eksplisit penangkapan output pytest melalui py.test -s.

PROFIL UJIAN PERLAKSANAAN DURATION


Untuk mendapatkan senarai 10 tempoh ujian paling lambat:

py.test --durations=10

MENCIPTA JUNITXML FORMAT FILES


Untuk mencipta fail hasil yang boleh dibaca oleh Hudson atau integrasi Berterusan lain
pelayan, gunakan doa ini:

py.test --junitxml=path

untuk mencipta fail XML di jalan.

rekod_xml_property
Baru dalam versi 2.8.

Jika anda ingin log maklumat tambahan untuk ujian, anda boleh menggunakan rekod_xml_property
lekapan:

def test_function(record_xml_property):
record_xml_property("example_key", 1)
tegaskan 0

Ini akan menambah harta tambahan example_key="1" kepada yang dihasilkan kes ujian teg:







AMARAN :
Ini ialah ciri percubaan, dan antara mukanya mungkin digantikan dengan sesuatu yang lebih
berkuasa dan umum dalam versi akan datang. Fungsi per-se akan disimpan,
Walau bagaimanapun.

Pada masa ini ia tidak berfungsi apabila digunakan dengan pytest-xdist plugin.

Juga sila ambil perhatian bahawa menggunakan ciri ini akan memecahkan sebarang pengesahan skema. ini
mungkin menjadi masalah apabila digunakan dengan beberapa pelayan CI.

MENCIPTA RESULTLOG FORMAT FILES


Untuk membuat fail hasil yang boleh dibaca mesin teks biasa, anda boleh mengeluarkan:

py.test --resultlog=path

dan lihat kandungan di jalan lokasi. Fail tersebut digunakan contohnya oleh Ujian PyPy
halaman web untuk menunjukkan keputusan ujian melalui beberapa semakan.

MENGHANTAR UJIAN LAPORAN KEPADA ONLINE PASTEBIN PERKHIDMATAN


mewujudkan a URL khususnya setiap ujian kegagalan:

py.test --pastebin=gagal

Ini akan menyerahkan maklumat ujian ujian kepada perkhidmatan Tampal jauh dan menyediakan URL untuk setiap satu
kegagalan. Anda boleh memilih ujian seperti biasa atau menambah sebagai contoh -x jika anda hanya mahu menghantar satu
kegagalan tertentu.

mewujudkan a URL khususnya a keseluruhan ujian Sesi log:

py.test --pastebin=semua

Pada masa ini hanya menampal ke http://bpaste.net perkhidmatan dilaksanakan.

MENYOKUSKAN plugin


Untuk melumpuhkan memuatkan pemalam tertentu pada masa permohonan, gunakan -p pilihan bersama-sama dengan
awalan tidak:.

Contoh: untuk melumpuhkan memuatkan pemalam ahli doktrin, yang bertanggungjawab untuk melaksanakan doctest
ujian daripada fail teks, gunakan py.test seperti ini:

py.test -p no:doctest

MEMANGGIL UJIAN PY DARIPADA PYTHON KOD


Baru dalam versi 2.0.

Anda boleh memanggil pytest dari kod Python secara langsung:

pytest.main()

ini bertindak seolah-olah anda akan memanggil "py.test" daripada baris arahan. Ia tidak akan meningkat
Keluar Sistem tetapi kembalikan kod keluar. Anda boleh memberikan pilihan dan hujah:

pytest.main(['-x', 'mytestdir'])

atau lulus dalam rentetan:

pytest.main("-x mytestdir")

Anda boleh menentukan pemalam tambahan untuk pytest.utama:

# kandungan myinvoke.py
import pytest
kelas MyPlugin:
def pytest_sessionfinish(self):
print("*** pelaporan larian ujian selesai")

pytest.main("-qq", plugins=[MyPlugin()])

Menjalankannya akan menunjukkan itu MyPlugin telah ditambahkan dan cangkuknya dipanggil:

$ python myinvoke.py
*** penamat pelaporan larian ujian

Gunakan py.test dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad