Puoi contrassegnare un test con i decoratori skip
e skipif
quando vuoi saltare un test pytest
.
Saltare un test
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
...
Il modo più semplice per saltare un test è contrassegnarlo con il skip
decoratore a cui può essere passato un facoltativo reason
.
È anche possibile saltare imperativamente durante l'esecuzione del test o l'installazione chiamando la pytest.skip(reason)
funzione. Ciò è utile quando non è possibile valutare la condizione di salto durante il tempo di importazione.
def test_func_one():
if not valid_config():
pytest.skip("unsupported configuration")
Saltare un test basato su una condizione
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_func_one():
...
Se vuoi saltare in base a un condizionale, puoi usare skipif
invece. Nell'esempio precedente, la funzione di test viene saltata se eseguita su un interprete precedente a Python3.6.
Infine, se vuoi saltare un test perché sei sicuro che non abbia esito positivo, potresti anche considerare di utilizzare il xfail
marcatore per indicare che prevedi che un test fallisca.
.skip
che ha Mocha (Node.js)?it('tests something'...)
->it.skip('tests something'...)
che disabiliterebbe quel particolare test. Ha anche il pratico opposto:.only
che eseguirà solo quel test e nient'altro.