py.test-2.7 - Bulutta Çevrimiçi

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen py.test-2.7 komutudur.

Program:

ADI


pytest - pytest kullanımı

ARAMA PY.TESTİ VASITASIYLA PİTON -M PY.TESTİ


2.0 sürümünde yeni.

Python-2.5 veya sonraki bir sürümünü kullanıyorsanız, Python yorumlayıcısı aracılığıyla testi şuradan başlatabilirsiniz:
komut satırı:

piton -m en iyi [...]

Bu, komut satırı komut dosyasını çağırmakla eşdeğerdir. py.testi [...] direkt olarak.

BAŞLARKEN YARDIM ET ON VERSİYON, SEÇENEK İSİMLER, ÇEVRE DEĞİŞKENLER


py.test --version #, pytest'in nereden içe aktarıldığını gösterir
py.test --fixtures # mevcut yerleşik fonksiyon argümanlarını göster
py.test -h | --help # komut satırı ve yapılandırma dosyası seçeneklerinde yardımı göster

DURDURULUYOR SONRA L' İLK (VEYA N) ARIZALAR


İlk (N) başarısızlıktan sonra test sürecini durdurmak için:

py.test -x # ilk hatadan sonra dur
py.test --maxfail=2 # iki hatadan sonra dur

BELİRTİLEN TESTLERİ / SEÇİM TESTLERİ


Birkaç test çalıştırma seçeneği:

py.test test_mod.py # modülde testleri çalıştır
py.test bazı yol # bazı yolların altındaki tüm testleri çalıştır
py.test -k stringexpr # yalnızca
# "dize ifadesi", örneğin "Sınıfım ve yöntem değil"
# TestMyClass.test_something'i seçecek
# ama TestMyClass.test_method_simple değil
py.test test_mod.py::test_func # yalnızca "düğüm kimliği" ile eşleşen testleri çalıştırın,
# örneğin "test_mod.py::test_func" seçecektir
# sadece test_func test_mod.py'de
py.test test_mod.py::TestClass::test_method # içinde tek bir yöntem çalıştır
#tek bir sınıf

'pkg' dosyasını içe aktarın ve testleri bulmak ve çalıştırmak için dosya sistemi konumunu kullanın:

py.test --pyargs pkg # pypkg dizininin altında bulunan tüm testleri çalıştır

DEĞİŞTİRME PİTON GERİ İZ BASKI


Geri izleme yazdırmayı değiştirmek için örnekler:

py.test --showlocals # geri izlemelerde yerel değişkenleri gösterir
py.test -l # yerel değişkenleri göster (kısayol)

py.test --tb=long # varsayılan bilgilendirici geri izleme biçimlendirmesi
py.test --tb=native # Python standart kitaplık biçimlendirmesi
py.test --tb=short # daha kısa bir geri izleme biçimi
py.test --tb=satır # hata başına yalnızca bir satır

DÜŞEN TO PDB (PİTON hata ayıklayıcı) ON ARIZALAR


Python adlı yerleşik bir Python hata ayıklayıcı ile birlikte gelir. PDB. Pytest birinin düşmesine izin verir
the PDB komut satırı seçeneği ile sor:

py.test --pdb

Bu, her başarısızlıkta Python hata ayıklayıcısını çağırır. Çoğu zaman sadece yapmak isteyebilirsiniz
bu, belirli bir başarısızlık durumunu anlamak için ilk başarısız test için:

py.test -x --pdb # ilk başarısızlıkta PDB'ye bırak, ardından test oturumunu sonlandır
py.test --pdb --maxfail=3 # ilk üç hata için PDB'ye bırak

Herhangi bir arıza durumunda istisna bilgilerinin depolandığına dikkat edin. sys.last_value,
sys.last_type ve sys.last_traceback. Etkileşimli kullanımda, bu, birinin içine düşmesine izin verir.
Herhangi bir hata ayıklama aracıyla ölüm sonrası hata ayıklama. İstisnaya manuel olarak da erişilebilir.
bilgi, örneğin:

>>> içe aktarma sistemi
>>> sys.last_traceback.tb_lineno
42
>>> sys.last_value
AssertionError('assert sonuç == "tamam"',)

AYARI A KIRILMA NOKTASI / AKA SET_TRACE()


Bir kesme noktası belirlemek ve pdb.set_trace() bir yardımcı kullanabilirsiniz:

pytest'i içe aktar
def test_fonksiyonu():
Kendi ID’n ile mağazalarını oluştur
pytest.set_trace() # PDB hata ayıklayıcısını ve izlemeyi çağırır

Pytest sürüm 2.0.0'dan önce yalnızca girebilirsiniz PDB yakalamayı devre dışı bıraktıysanız izleme
aracılığıyla komut satırında py.testi -s. Daha sonraki sürümlerde, pytest otomatik olarak devre dışı bırakır.
girdiğinizde çıktı yakalama PDB izleme:

· Diğer testlerde çıktı yakalama etkilenmez.

· Halihazırda yakalanmış ve bu şekilde işlenecek olan herhangi bir önceki test çıktısı.

· Aynı testte üretilen daha sonraki çıktılar yakalanmayacak ve bunun yerine
doğrudan gönderildi sys.stdout. Bunun, meydana gelen test çıktısı için bile geçerli olduğunu unutmayın.
interaktiften çıktıktan sonra PDB izleme oturumu ve normal testle devam edin
koşmak.

Pytest sürüm 2.4.0'dan beri yerel Python'u da kullanabilirsiniz. ithalat pdb;pdb.set_trace()
girmek için ara PDB kullanmak zorunda kalmadan takip pytest.set_trace() sarıcı veya
pytest'in çıktı yakalamasını açıkça devre dışı bırak py.testi -s.

PROFİL TEST UYGULAMA SÜRE


En yavaş 10 test süresinin bir listesini almak için:

py.test --süreler=10

OLUŞTURMA JUNITXML FORMAT DOSYALAR


Tarafından okunabilen sonuç dosyaları oluşturmak için Hudson veya diğer Sürekli entegrasyon
sunucular, bu çağrıyı kullanın:

py.test --junitxml=yol

adresinde bir XML dosyası oluşturmak için yol.

kayıt_xml_özelliği
2.8 sürümünde yeni.

Bir test için ek bilgi kaydetmek istiyorsanız, kayıt_xml_özelliği
Fikstür:

def test_function(record_xml_property):
record_xml_property("example_key", 1)
0 iddia etmek

Bu ekstra bir özellik ekleyecektir örnek_anahtar="1" üretilene test durumu etiket:







UYARI:
Bu deneysel bir özelliktir ve arayüzü daha farklı bir şeyle değiştirilebilir.
gelecek sürümlerde güçlü ve genel. Kendi başına işlevsellik korunacak,
Ancak.

Şu anda ile kullanıldığında çalışmıyor pytest-xdist eklentisi.

Ayrıca, bu özelliği kullanmanın herhangi bir şema doğrulamasını bozacağını lütfen unutmayın. Bu
bazı CI sunucularıyla kullanıldığında sorun olabilir.

OLUŞTURMA SONUÇ GÜNLÜĞÜ FORMAT DOSYALAR


Düz metin makine tarafından okunabilir sonuç dosyaları oluşturmak için şunları verebilirsiniz:

py.test --resultlog=yol

ve içeriğine bakın yol yer. Bu tür dosyalar, örneğin PyPy testi
birkaç revizyon üzerinde test sonuçlarını göstermek için web sayfası.

GÖNDERME TEST BİLDİRİN TO ONLINE PASTEBİN HİZMET


Oluşturma a URL için her test başarısızlık:

py.test --pastebin=başarısız

Bu, test çalıştırma bilgilerini uzak bir Yapıştır hizmetine gönderecek ve her biri için bir URL sağlayacaktır.
arıza. Testleri her zamanki gibi seçebilir veya örneğin ekleyebilirsiniz. -x sadece bir tane göndermek istersen
özel başarısızlık.

Oluşturma a URL için a bütün test Oturum log:

py.test --pastebin=tümü

Şu anda yalnızca yapıştırma http://bpaste.net hizmet uygulanmaktadır.

DEVRE DIŞI BIRAKMA PLUGINS


Çağrı sırasında belirli eklentilerin yüklenmesini devre dışı bırakmak için -p seçeneği ile birlikte
önek no:.

Örnek: eklentiyi yüklemeyi devre dışı bırakmak için belge testidoctest'in yürütülmesinden sorumlu olan
metin dosyalarından testler, py.test'i şu şekilde çağırın:

py.test -p no:doctest

ARAMA PY.TESTİ DAN PİTON KOD


2.0 sürümünde yeni.

çağırabilirsin Pytest doğrudan Python kodundan:

pytest.main()

bu, komut satırından "py.test"i çağırıyormuşsunuz gibi davranır. yükseltmeyecek
SystemExit ancak bunun yerine çıkış kodunu döndürün. Seçenekleri ve argümanları iletebilirsiniz:

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

veya bir dize iletin:

pytest.main("-x mytestdir")

için ek eklentiler belirtebilirsiniz. pytest.main:

# myinvoke.py içeriği
pytest'i içe aktar
MyPlugin sınıfı:
def pytest_sessionfinish(kendisi):
print("***test çalıştırması raporlama tamamlama")

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

Çalıştırmak bunu gösterecek Eklentim eklendi ve kancası çağrıldı:

$ piton myinvoke.py
*** test çalıştırması raporlama tamamlama

onworks.net hizmetlerini kullanarak py.test-2.7'ü çevrimiçi kullanın



En yeni Linux ve Windows çevrimiçi programları