5.4.1 Scrivere Unit Tests per il package test

È preferibile che i test per il package test utilizzino il modulo unittest e seguano alcune linee guida. Per prima cosa tutti i nomi dei metodi di test devono iniziare con "test_" come anche il nome del modulo. Questo è necessario affinchè il test driver li riconosca come metodi di test. Inoltre, non dovrebbe essere inclusa alcuna stringa di documentazione. Al loro posto si dovrebbe utilizzare un commento (come "# Le funzioni di test restituiscono solo True o False") per fornire documentazione al metodo di test. Questo viene fatto perché le stringhe di documentazione (NdT: docstring) se esistono vengono stampate e perciò non risulta chiaro quale test sia in esecuzione.

Spesso viene utilizzata una costruzione basilare tipo questa:

import unittest
from test import test_support

class MyTestCase1(unittest.TestCase):

    # Usate solo setUp() e tearDown() se necessario
    
    def setUp(self):
        ... codice da utilizzare per preparare i test ...
	
    def tearDown(self):
        ... codice da eseguire per la ripulitura dopo i test ...

    def test_feature_one(self):
        # Test feature one.
	... codice di test ...

    def test_feature_two(self):
        # Test feature two.
        ... codice di test ...
         
    ... altri metodi di test ...
    
class MyTestCase2(unittest.TestCase):
    ... stessa struttura di MyTestCase1 ...
    
... altre classi di test

def test_main():
    test_support.run_unittest(MyTestCase1,
                              MyTestCase2,
                              ... elencate altri test ...
                             )

if __name__ == '__main__':
    test_main()

Questo codice permette alla suite di test di essere eseguita sia da test.regrtest sia autonomamente come script.

Lo scopo dei test di regressione è quello di provocare la ``rottura'' del codice, facendolo andare in errore. Per cui è necessario seguire alcune linee guida:

Vedete anche:

Test Driven Development
Un libro di Kent Beck riguardante la scrittura dei test prima del codice.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy