Możesz oznaczyć test przy użyciu dekoratorów skip
i, skipif
jeśli chcesz pominąć test pytest
.
Pomijanie testu
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
...
Najprostszym sposobem pominięcia testu jest oznaczenie go skip
dekoratorem, który może zostać zaliczony opcjonalniereason
.
Możliwe jest również bezwzględne pominięcie podczas wykonywania testu lub konfiguracji przez wywołanie pytest.skip(reason)
funkcji. Jest to przydatne, gdy nie można ocenić warunku pominięcia w czasie importu.
def test_func_one():
if not valid_config():
pytest.skip("unsupported configuration")
Pomijanie testu na podstawie warunku
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_func_one():
...
Jeśli chcesz pominąć na podstawie warunku, możesz użyć skipif
zamiast tego. W poprzednim przykładzie funkcja test jest pomijana, gdy jest uruchamiana na interpreterze wcześniejszym niż Python3.6.
Wreszcie, jeśli chcesz pominąć test, ponieważ masz pewność, że się nie powiedzie, możesz również rozważyć użycie xfail
znacznika do wskazania, że spodziewasz się, że test się nie powiedzie.
.skip
którą ma Mocha (Node.js)?it('tests something'...)
->it.skip('tests something'...)
co spowodowałoby wyłączenie tego konkretnego testu. Ma również przydatne przeciwieństwo:.only
który uruchomi tylko ten test i nic więcej.