Propwise

Анализатор кандидатов для property-based тестирования в Elixir на базе AST.

Active ElixirProperty TestingStreamDataAST Analysis 6 713
Propwise

анализирует абстрактные синтаксические деревья 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.