Python:
Написание тестов
Как:
Давайте используем встроенный в Python фреймворк unittest.
import unittest
def add(a, b):
return a + b
class TestAddFunction(unittest.TestCase):
def test_add_integers(self):
self.assertEqual(add(1, 2), 3)
def test_add_strings(self):
self.assertEqual(add('abc', 'def'), 'abcdef')
if __name__ == '__main__':
unittest.main()Запустите его, и вы увидите что-то вроде:
..
----------------------------------------------------------------------
Пройдено 2 теста за 0.001с
OKДве точки означают, что два теста пройдены. Все хорошо.
Погружение
Тестирование на Python стало популярным с unittest (вдохновленным JUnit от Java). Сейчас есть pytest и nose, более современные инструменты с более простым синтаксисом и лучшими функциями. При написании тестов помните: изолируйте тестовые случаи, тестируйте крайние случаи и мокируйте внешние зависимости, чтобы сосредоточиться на логике вашего кода, а не на внешнем мире.
Смотрите также
Углубитесь в тестирование с помощью следующих ресурсов:
- Документация по
unittestот Python: https://docs.python.org/3/library/unittest.html pytestдля более современного подхода: https://docs.pytest.org/en/latest/- Мокирование в тестах с помощью
unittest.mock: https://docs.python.org/3/library/unittest.mock.html