Руководство для начинающих по написанию модульных тестов: изучение базового класса и основных методов

  1. setUp()и tearDown():
    Эти методы используются для настройки и отключения любых необходимых ресурсов до и после каждого тестового примера. Это похоже на подготовку рабочего места и уборку после него. Вот простой пример:
def setUp(self):
    # Set up resources (e.g., database connections, file handles)
def tearDown(self):
    # Clean up resources (e.g., close database connections, release file handles)
  1. test_something():
    Здесь вы пишете реальные тестовые примеры. Имя метода обычно начинается с «test_», что указывает на то, что это тестовый пример. Вот пример:
def test_addition(self):
    result = add(2, 3)
    self.assertEqual(result, 5, "Addition failed")
  1. assertEqual():
    Этот метод сравнивает два значения и выдает ошибку, если они не равны. Обычно его используют для проверки ожидаемых результатов. Например:
def test_addition(self):
    result = add(2, 3)
    self.assertEqual(result, 5, "Addition failed")
  1. assertTrue()и assertFalse():
    Эти методы проверяют, является ли заданное условие истинным или ложным соответственно. Они полезны для тестирования логических выражений. Вот пример:
def test_is_positive(self):
    result = is_positive(10)
    self.assertTrue(result, "Expected a positive value")
def test_is_negative(self):
    result = is_negative(10)
    self.assertFalse(result, "Expected a negative value")
  1. assertRaises():
    Этот метод проверяет, возникает ли определенное исключение при выполнении фрагмента кода. Это удобно для тестирования обработки ошибок. Вот пример:
def test_division_by_zero(self):
    with self.assertRaises(ZeroDivisionError):
        divide(10, 0)

В этой статье мы рассмотрели некоторые важные методы, предоставляемые базовым классом для модульных тестов. Используя методы setUp()и tearDown(), вы можете подготовить и очистить ресурсы. Метод test_something()позволяет писать отдельные тестовые примеры, а assertEqual(), assertTrue(), assertFalse()и assertRaises()помогут вам сделать утверждения и проверить ожидаемые результаты. Включение этих методов в модульные тесты значительно повысит качество и надежность вашего кода.