Встречается на собеседованиях • сегодня

В чем разница между Pytest и Unit-тест

Pytest — это более мощный и гибкий фреймворк для тестирования по сравнению с unittest (встроенным в Python).

Ключевые отличия:

  1. Синтаксис:
    • unittest требует наследования от unittest.TestCase и использования методов вроде assertEqual().
    • Pytest позволяет писать обычные функции с простыми assert.
  1. Фикстуры:

    • В unittest используются setUp() и tearDown().
    • Pytest предлагает гибкие фикстуры (@pytest.fixture).
  2. Параметризация:

    • В unittest параметризация сложнее (через subTest или внешние библиотеки).
    • Pytest поддерживает @pytest.mark.parametrize прямо "из коробки".

Пример:

python
# Pytest
def test_add():
    assert 1 + 1 == 2

# Unittest
import unittest
class TestMath(unittest.TestCase):
    def test_add(self):
        self.assertEqual(1 + 1, 2)

Pytest также поддерживает плагины, параллельное выполнение и более читаемые отчёты.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы