Propwise
Анализатор кандидатов для property-based тестирования в Elixir на базе AST.
анализирует абстрактные синтаксические деревья Elixir для выявления функций, подходящих для property-based тестирования, и автогенерации генераторов StreamData.
Идея
Тестирование на основе свойств (PBT) незаменимо для поиска сложных краш-кейсов, но запуск таких тестов требует поиска кандидатов, написания генераторов данных и ручного определения свойств.
Propwise снижает порог входа в PBT для Elixir. Анализируя сигнатуры функций, сопоставление с шаблоном, спецификации типов и AST, Propwise находит подходящие функции и создаёт шаблоны генераторов StreamData.
Почему Propwise?
Детекция Кандидатов в AST
Сканирует модули для поиска чистых функций и сложных ветвлений для проверки свойств.
Анализ Спецификаций Типов
Извлекает ограничения из спецификаций
@spec
и гардов для автоматического вывода типов генераторов.
Генерация Шаблонов StreamData
Создает готовые шаблоны тестов свойств ExUnit, интегрированные с
StreamData
.
Пошаговое Внедрение
Запускайте AST-сканирование для легаси-модулей, чтобы постепенно расширять PBT-покрытие.
Технологии
| Язык | Elixir |
| Библиотека PBT | StreamData |
| Уровень Анализа | AST и Спецификации Типов |
| Hex Пакет |
propwise
|
Для Кого
- Разработчиков Elixir , желающих внедрить property-based тестирование без лишнего кода.
- Инженеров Тестирования , расширяющих покрытие функциональных конвейеров.
- Мейнтейнеров Библиотек , обеспечивающих корректность инвариантов публичных API.
Итог
Автоматизируйте выбор кандидатов и создание генераторов для property-based тестов в Elixir с Propwise.