Enrico's pages/ 2007/ pygnami/ Python versione Bignami - Scrivere test

Python versione Bignami - Scrivere test

doctest

Esegue gli esempi nelle docstring e controlla che siano corretti:

    def somma(a, b):
        """
        Somma due numeri.

        Esempio:
        >>> somma(3, 5)
        8
        """
        return a + b

    if __name__ == "__main__":
        import doctest
        doctest.testmod()

Per controllare gli esempi in un file di testo esterno:

        doctest.testfile("README.txt")

Scrivere test negli esempi

unittest

    if __name__ == '__main__':
        import unittest
        class PrimoGruppoDiTest(unittest.TestCase):
            def setUp(self):
                # (opzionale) Inizializza l'ambiente di ogni test
            def tearDown(self):
                # (opzionale, raro) Pulizia dopo i test
            def testQuesto(self):
                self.assertEqual(sqrt(4), 2)
                # Conta solo fino alla quarta cifra decimale
                self.assertAlmostEqual(sqrt(2), 1.4142, 4)
            def testQuestaltro(self):
                self.assertRaises(ValueError, sqrt, -1)

        class SecondoGruppoDiTest(unittest.TestCase):
            def testQuesto(self):
                ...
            def testQuestaltro(self):
                ...

        unittest.main()

Funzioni di test

Link