AI University / Промпты / Код и разработка
Код и разработка

Промпт: тесты к функции

Набор юнит-тестов с крайними случаями. Готовый промт на русском: скопируйте, подставьте свои данные и вставьте в GigaChat, YandexGPT, ChatGPT, Claude или Gemini.

Проверено на: GigaChatChatGPTClaudeGemini · Обновлено 01.10.2026

Текст промпта

Напиши тесты для функции ниже на {framework}. Покрой: обычные случаи, границы (пустые значения, ноль, максимум), неверный ввод, ошибки. Названия тестов на русском или понятные английские, описывающие поведение. Если функция ведёт себя странно в каком-то случае, напиши об этом отдельно, не подгоняй тест под ошибку. Функция: {code}

Что подставить в промт

ПолеПример
{framework}pytest
{code}def discount(price, percent):
return price - price * percent / 100

Ответы нейросетей на этот промпт

Один и тот же промпт с примером выше, ответы без правок: выберите нейросеть, которой пользуетесь, и посмотрите, что она выдаёт.

GigaChat 2 Max01.10.2026
Тестирование функции discount

Вот набор тестов для функции discount, покрывающий типичные сценарии, граничные условия, неправильный ввод и потенциальные ошибки.

import pytest

# Базовый случай проверки скидки
def test_discount_basic():
    result = discount(100, 50)
    assert result == 50


# Проверка нулевой цены и процента
def test_discount_zero_price_and_percent():
    result = discount(0, 0)
    assert result == 0


# Цена равна нулю, процент положительный
def test_discount_zero_price_positive_percent():
    result = discount(0, 20)
    assert result == 0


# Положительная цена, процент равен нулю
def test_discount_positive_price_zero_percent():
    result = discount(100, 0)
    assert result == 100


# Максимальная допустимая цена Python float (по сути бесконечность)
@pytest.mark.xfail(reason="Infinity input not handled correctly")
def test_discount_maximum_value():
    max_float = float('inf')
    result = discount(max_float, 50)
    # Ожидается, что результат будет также inf, но здесь возможна ошибка реализации
    assert result == max_float / 2


# Граница — максимальная положительная цена и максимальный процент
def test_discount_max_positive_values():
    max_int = 9_223_372_036_854_775_807  # Max int value in most systems
    result = discount(max_int, 100)
    assert result == 0


# Отрицательная цена и отрицательный процент
def test_discount_negative_input():
    result = discount(-100, -50)
    assert result == -150


# Недопустимый входной параметр (не число)
@pytest.mark.parametrize("price,percent", [
    ("string", 50),
    (100, "fifty"),
])
def test_discount_invalid_type(price, percent):
    with pytest.raises(TypeError):
        discount(price, percent)


# Необработанная ситуация деления на ноль (процент = 100%)
def test_discount_divide_by_zero():
    # Функция корректно обрабатывает этот случай,
    # поскольку вычисление происходит через умножение,
    # однако стоит проверить такое поведение явно
    result = discount(100, 100)
    assert result == 0


# Неправильный процент больше 100%
def test_discount_over_100_percent():
    result = discount(100, 150)
    assert result == -50


# Ситуация, когда скидка превышает цену товара
def test_discount_exceeds_price():
    result = discount(50, 200)
    assert result == -50


# Пограничное значение для процента (точность округления)
def test_discount_rounding_edge_case():
    result = discount(100, 99.99999999999999)
    # В зависимости от платформы точность вычислений может варьироваться,
    # нужно проверять возможные варианты результата
    assert abs(result - 0.00000000000001) < 1e-15

Особенности поведения функции:

Таким образом, эти тесты охватывают основные рабочие ситуации, граничный контроль и необычные входные данные.

Советы

Как пользоваться
  1. Скопируйте промпт кнопкой выше.
  2. Замените поля в фигурных скобках своими данными.
  3. Отправьте в нейросеть и сравните ответ с примером на этой странице.

Подробнее о структуре хорошего запроса: гид AI University.

Похожие промпты

БесплатноРевью кодаРазбор кода: ошибки, безопасность, читаемость, с исправлениями.БесплатноОбъясни, что делает кодПонятное объяснение чужого кода по шагам.БесплатноРегулярное выражение по описаниюRegex с объяснением и тестовыми строками.

Промпты работают лучше, когда понимаешь модель

56 официальных курсов Anthropic, OpenAI, Google и других на русском: первые уроки бесплатно, без VPN. Наборы промптов входят в полный доступ.

Полный доступ за 4 900 ₽