Storm Petrel инкрементный генератор тестов

Инкрементный генератор, создающий модифицированные копии тестов для обновления ожидаемых значений.

Проблема

Проблема возникает тогда, когда модульные и/или интеграционные тесты не проходят из-за изменений в коде, таких как добавление новых свойств в базовые классы или исправление ошибок. Ручное исправление каждого ожидаемого базового значения и запуск неудачных тестов по отдельности занимает много времени.

Подход

Подход включает использование инкрементных генераторов .NET для создания модифицированных копий тестов «StormPetrel», которые могут обновлять ожидаемые базовые значения в оригинальных тестах. Разработчики могут запускать эти тесты для автоматического переписывания базовых значений, а затем вручную проверять изменения на точность, значительно сокращая время разработки.

Описание

Решение включает несколько компонентов, разработанных в виде пакетов NuGet. Пакет StormPetrel.Generator инкрементально создает модифицированные копии тестов «StormPetrel» со встроенным кодом контекста Storm Petrel. При выполнении эти тесты захватывают фактические базовые значения, конвертируют их в код C# с использованием пакета VarDump или пакета ObjectDumper.NET и переписывают ожидаемые базовые значения в оригинальных тестах или других файлах.

 

Screenshots

Ключевые особенности

  • Поддержка фреймворков: Расширенная совместимость с ведущими тестовыми фреймворками, включая XUnit, NUnit и MSTest.
  • Конфигурация пар переменных: Гибкие параметры конфигурации для пар фактических/ожидаемых переменных, поддерживающие несколько наборов.
  • Настраиваемые алгоритмы: Возможность использования собственных или настраиваемых алгоритмов для генерации или дампа ожидаемых базовых значений, используя контекст выполнения тестов Storm Petrel.
  • Инициализация базовых значений: Полная поддержка ожидаемых базовых значений, инициализированных в методе теста или полученных из внешних методов с переменными аргументами.

Результат

Компоненты Storm Petrel .NET упрощают процесс обновления ожидаемых базовых значений с минимальными усилиями, ускоряя разработку программного обеспечения.

Свяжитесь с нами

Мы любим новые проекты! Напишите нам, и мы ответим вам в ближайшее время.

Спасибо, что написали нам! Ваше сообщение было успешно отправлено. Мы обязательно ответим на него в ближайшее время. Пожалуйста, проверьте, получили ли Вы от нас письмо-подтверждение на указанную Вами почту.