Test del naso - Strumenti

Il modulo nose.tools fornisce una serie di aiuti per i test che potresti trovare utili, inclusi i decoratori per limitare il tempo di esecuzione del test e il test per le eccezioni, e tutti gli stessi metodi assertX trovati in unittest.TestCase.

  • nose.tools.ok_(expr, msg = None) - Abbreviazione di assert.

  • nose.tools.eq_(a, b, msg = None) - Abbreviazione di "assert a == b,"% r! =% R "% (a, b)

  • nose.tools.make_decorator(func) - Avvolge un decoratore di prova in modo da replicare correttamente i metadati della funzione decorata, inclusi gli elementi aggiuntivi del naso (ovvero, installazione e smontaggio).

  • nose.tools.raises(*exceptions) - Il test deve sollevare una delle eccezioni previste per essere superato.

  • nose.tools.timed(limit) - Il test deve terminare entro il limite di tempo specificato per essere superato

  • nose.tools.istest(func) - Decoratore per contrassegnare una funzione o un metodo come prova

  • nose.tools.nottest(func) - Decoratore per contrassegnare una funzione o un metodo come non un test

Test parametrizzati

Il framework di test di Python, unittest, non ha un modo semplice per eseguire casi di test parametrizzati. In altre parole, non puoi passare facilmente argomenti in un fileunittest.TestCase da fuori.

Tuttavia, le porte del modulo pytest testano la parametrizzazione in diversi modi ben integrati:

  • pytest.fixture() permette di definire la parametrizzazione a livello di funzioni del faro.

  • @pytest.mark.parametrizepermette di definire la parametrizzazione a livello di funzione o classe. Fornisce più set di argomenti / dispositivi per una particolare funzione o classe di test.

  • pytest_generate_tests consente di implementare il proprio schema o estensioni di parametrizzazione dinamica personalizzati.

Un modulo di terze parti "nose-parametrizzato" consente il test parametrizzato con qualsiasi framework di test Python. Può essere scaricato da questo link -https://github.com/wolever/nose-parameterized