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

Какие умеешь писать тесты

В Python тесты можно писать с помощью стандартного модуля unittest или сторонних библиотек вроде pytest. Основные виды тестов:

  1. Unit-тесты - тестируют отдельные функции/методы:
python
import unittest

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

class TestAdd(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(2, 3), 5)
  1. Интеграционные тесты - проверяют взаимодействие компонентов:
python
def test_user_creation(db_connection):
    user = create_user(db_connection, "test")
    assert user.username == "test"
  1. Mock-тесты - заменяют зависимости на заглушки:
python
from unittest.mock import Mock

def test_api_call():
    mock_api = Mock(return_value={"status": "ok"})
    result = process_api_response(mock_api())
    assert result == "ok"
  1. Parametrized тесты - один тест для разных входных данных (в pytest):
python
import pytest

@pytest.mark.parametrize("a,b,expected", [(1,2,3), (0,0,0)])
def test_add(a, b, expected):
    assert add(a, b) == expected

Также умею писать тесты с фикстурами, асинхронные тесты и тесты для Django/Flask приложений. pytest предпочитаю за лаконичность и мощные фичи.

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

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

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

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