Программирование

Напиши unit-тесты для существующего кода

Создаёт набор осмысленных unit-тестов для конкретного метода или класса: покрывает основной сценарий, границы и ошибки без выдумывания отсутствующих зависимостей.

Автор: PromptingGo Средний Язык: ru Просмотры: 0 Копирования: 0 Есть настройка
Средняя оценка
/ 5
Голосов: 0
Войти, чтобы оценить

1 Готовый промпт

Выступи в роли разработчика, который пишет поддерживаемые unit-тесты.

Язык и тестовый стек: C# / xUnit / Moq.

Код:
"""
public async Task<IActionResult> Get(int id) { var item = await _repository.FindAsync(id); return item is null ? NotFound() : Ok(item); }
"""

Ожидаемое поведение:
При существующем id вернуть 200 с объектом, при отсутствующем — 404.

Подготовь unit-тесты по следующим правилам:

1. Сначала кратко перечисли наблюдаемое поведение, которое действительно можно проверить по коду и описанию.
2. Раздели тесты на:
   - основной успешный сценарий;
   - граничные случаи;
   - некорректные входные данные;
   - важные ветви условий.
3. Для каждого теста используй понятное имя, отражающее условие и ожидаемый результат.
4. Не тестируй внутреннюю реализацию, если достаточно проверить публичное поведение.
5. Не придумывай зависимости, методы или бизнес-правила, которых нет во вводных.
6. Если код невозможно нормально протестировать без дополнительного контекста, сначала укажи, чего не хватает.
7. После тестов кратко объясни, что осталось непокрытым и почему.

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

2 Настроить под себя

Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.

Поля со звёздочкой обязательны. Необязательные части исчезнут из результата, если оставить их пустыми.

3 Результат настройки

Заполните конструктор выше, и здесь появится готовый промпт.

4 Примеры результата

Текстовый пример

Проверяемые сценарии:
— существующий идентификатор возвращает объект;
— отсутствующий идентификатор возвращает NotFound;
— репозиторий вызывается ровно один раз.

Пример:
[Fact]
public async Task Get_WhenItemDoesNotExist_ReturnsNotFound()
{
    ...
}

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

5 Комментарии

0
Комментариев пока нет. Будьте первым, кто обсудит этот промпт.