Fixture-uri în unittest

Introducere în testarea în Python

Alexander Levin

Data Scientist

Recapitulare fixture-uri

  • Fixture
    • un mediu pregătit pentru un test
    • separă pregătirea de codul testului
  • Fixture setup - configurarea resurselor pentru teste
  • Fixture teardown - eliberarea resurselor alocate
  • Exemplu: pregătirea mâncării pentru un picnic și curățenia de la final
Introducere în testarea în Python

Fixture-uri în biblioteca unittest

  • Fixture în unittest - pregătirea necesară pentru unul sau mai multe teste
  • .setUp() - metodă apelată pentru pregătirea fixture-ului înainte de test
  • .tearDown() - metodă apelată după test pentru curățarea mediului
1 https://docs.python.org/3/library/unittest.html
Introducere în testarea în Python

Exemplu de cod

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)
Introducere în testarea în Python

U majusculă și D majusculă

  • Sintaxa corectă: setUp cu U majusculă și tearDown cu D majusculă.

    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()
    
Introducere în testarea în Python

Exemplu de output

Comanda: python3 -m unittest test_in_list.py

Output-ul unei rulări cu .setUp() și .tearDown():

output-ul unei rulări cu un fixture

Introducere în testarea în Python

Metode cu nume incorecte

Output-ul unei rulări cu .set_up():

output-ul unei rulări cu un fixture cu nume greșit

Introducere în testarea în Python

Rezumat

  • Fixture în unittest - pregătirea necesară pentru unul sau mai multe teste
  • Pentru a crea un fixture:
    • Implementați metoda .setUp()
    • Implementați metoda .tearDown()
  • .setUp() - metodă apelată pentru pregătirea fixture-ului înainte de test.
  • .tearDown() - metodă apelată după test pentru curățarea mediului.
Introducere în testarea în Python

Să exersăm!

Introducere în testarea în Python

Preparing Video For Download...