Fixtures in unittest

Introductie tot testen in Python

Alexander Levin

Data Scientist

Samenvatting fixtures

  • Fixture
    • een voorbereide omgeving voor een test
    • scheid voorbereiding van testcode
  • Fixture-setup – resources klaarzetten voor tests
  • Fixture-teardown – toegewezen resources opruimen
  • Voorbeeld: eten klaarmaken voor een picknick en achteraf opruimen
Introductie tot testen in Python

Fixtures in de unittest-bibliotheek

  • Fixture in unittest – de voorbereiding die nodig is om één of meer tests uit te voeren
  • .setUp() – wordt aangeroepen om de testfixture te prepareren vóór de test
  • .tearDown() – wordt na de test aangeroepen om de omgeving op te ruimen
1 https://docs.python.org/3/library/unittest.html
Introductie tot testen in Python

Voorbeeldcode

import unittest

class TestLi(unittest.TestCase):
    # Fixture setup method
    def setUp(self):
        self.li = [i for i in range(100)]

    # Fixture teardown method
    def tearDown(self):
        self.li.clear()

    # Test method
    def test_your_list(self):
        self.assertIn(99, self.li)
        self.assertNotIn(100, self.li)
Introductie tot testen in Python

Hoofdletter U en hoofdletter D

  • De juiste schrijfwijze: setUp met een hoofdletter U en tearDown met een hoofdletter D.

    class TestLi(unittest.TestCase):
      # Fixture setup method
      def setUp(self):
          self.li = [i for i in range(100)]
    
      # Fixture teardown method
      def tearDown(self):
          self.li.clear()
    
Introductie tot testen in Python

Voorbeelduitvoer

Het commando: python3 -m unittest test_in_list.py

Output van een run met .setUp() en .tearDown():

output van een run met een fixture

Introductie tot testen in Python

Onjuist benoemde methods

Output van een run met .set_up():

output van een run met een fixture met een verkeerde naam

Introductie tot testen in Python

Samenvatting

  • Fixture in unittest – de voorbereiding die nodig is om één of meer tests uit te voeren
  • Zo maak je een fixture:
    • Implementeer .setUp()
    • Implementeer .tearDown()
  • .setUp() – wordt aangeroepen om de testfixture te prepareren vóór de test
  • .tearDown() – wordt na de test aangeroepen om de omgeving op te ruimen
Introductie tot testen in Python

Laten we oefenen!

Introductie tot testen in Python

Preparing Video For Download...