Python:
Skriva tester

Hur man gör:

Python kommer med en inbyggd modul för att skriva tester som kallas unittest. Så här kan du använda den för att testa en enkel funktion:

import unittest

def add(a, b):
    return a + b

class TestAddFunction(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(1, 2), 3)
        self.assertEqual(add(-1, 1), 0)
        self.assertNotEqual(add(10, 2), 12, "Borde vara 12")

if __name__ == '__main__':
    unittest.main()

När du kör detta testskript bör du se utdata som indikerar att dina tester passerade (eller misslyckades).

För mer moderna och uttrycksfulla tester kan du använda ett tredjepartsbibliotek som pytest. Först måste du installera det med pip:

pip install pytest

Sedan kan du skriva dina tester på ett enklare sätt utan att behöva ärva från någon klass:

# Spara detta i en fil med namnet test_with_pytest.py
def add(a, b):
    return a + b

def test_add():
    assert add(1, 2) == 3
    assert add(-1, 1) == 0
    assert add(10, 2) != 12, "Borde vara 12"

För att köra dina tester med pytest, exekvera helt enkelt:

pytest test_with_pytest.py

Du bör se utdata från pytest som visar dina testresultat.