İçinde bir testi atlamak istediğinizde skip
ve skipif
dekoratörlerle bir testi işaretleyebilirsiniz.pytest
.
Bir testi atlamak
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
...
Bir testi atlamanın en basit yolu, skip
isteğe bağlı olarak geçilebilecek dekoratörle işaretlemektir.reason
.
pytest.skip(reason)
Fonksiyonu çağırarak test yürütme veya kurulum sırasında zorunlu olarak atlamak da mümkündür . Bu, içe aktarma sırasında atlama koşulunu değerlendirmek mümkün olmadığında kullanışlıdır.
def test_func_one():
if not valid_config():
pytest.skip("unsupported configuration")
Bir koşula göre testi atlama
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_func_one():
...
Bir şarta göre atlamak istiyorsanız, o zaman kullanabilirsiniz skipif
bunun yerine . Önceki örnekte, test işlevi Python3.6'dan önceki bir yorumlayıcıda çalıştırıldığında atlanır.
Son olarak, başarısız olduğundan emin olduğunuz için bir testi atlamak istiyorsanız, bir testin başarısız xfail
olmasını beklediğinizi belirtmek için işaretleyiciyi kullanmayı da düşünebilirsiniz .
.skip
Mocha'nın (Node.js) sahip olduğu zarifliğe benzer bir şey var mı?it('tests something'...)
->it.skip('tests something'...)
bu belirli testi devre dışı bırakır. Aynı zamanda kullanışlı bir zıttı da var:.only
sadece bu testi çalıştıracak, başka hiçbir şey yapmayacak.