Sobes.tech
Back to questions
Junior — Middle
47

В каких ситуациях рекомендуется, чтобы модульные тесты завершались с ошибкой?

Answer from AI

sobes.tech AI

Модульные тесты должны завершаться с ошибкой в следующих ситуациях:

  • Когда проверяемый код работает не так, как ожидается, то есть возвращает неправильный результат или вызывает исключение.
  • Если нарушаются предусловия или постусловия функций.
  • При обнаружении регрессий — когда исправленный ранее баг снова проявляется.
  • Когда тест проверяет обработку исключительных ситуаций, и эти ситуации не возникают или обрабатываются неверно.

Например, если функция должна возвращать сумму двух чисел, а возвращает что-то другое, тест должен упасть с ошибкой.

import unittest

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

class TestAdd(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(2, 3), 5)  # если add вернет не 5, тест упадет

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