Привет, Хабр!
В октябре на конференции Joker мы представили EAP версию Explyt Test, плагина для IntelliJ IDEA Community, который умеет генерировать тесты на базе AI и формальных методов. Мы получили много интересных и, временами, неожиданных комментариев от участников о том, что они ждут от автоматической генерации тестов и способен ли им в этом помочь AI.
Общение с живыми людьми и обратная связь повлияли на то, какая функциональность в итоге была добавлена в первый публичный релиз Explyt Test 2.0:
поддержана совместимость с IntelliJ IDEA 2024.3 и K2 для IntelliJ IDEA 2024.2+
добавлен AI ассистент Explyt Chat, который умеет объяснять код, находить в нем ошибки, поддерживает вложения и отвечает на любые вопросы пользователя
добавлена возможность применять Explyt фиксы не только для сгенерированного Explyt кода, но и для чужого кода
добавлена возможность управления выбором примера тестов при генерации и ввода дополнительных промптов
добавлен анализ эффективности Ollama моделей: модели низкого качества помечаются как нерекомендуемые (not recommended)
оптимизированы алгоритмы сбора контекста приложения, установки зависимостей, разрешения неоднозначных импортов при автоматизированном применении квикфиксов
поддержана совместимость с Android Studio Koala и Android Studio Ladybug (часть функциональности)
Генерация тестов:
Генерация Gherkin сценариев и тестов по исходному коду
Генерация дополнительных тестов с учётом существующего покрытия
Исправление тестов: обеспечиваем их компилируемость и корректное выполнение
Управление генерацией: выбор примеров и задание дополнительных инструкций для языковой модели, редактирование сгенерированных сценариев и создание собственных
Подготовка проекта к генерации тестов: поиск используемых тестовых фреймворков, установка дополнительных зависимостей при необходимости
AI ассистент Explyt Chat:
Получение ответов на произвольные вопросы от языковой модели. Запрос может быть дополнен фрагментами кода проекта
Объяснение работы кода и нюансов его использования. Action: Explain Code
Анализ кода на предмет потенциальных ошибок в реализации. Action: Analyze for Bugs
Пользователи могут обращаться к языковым моделям как через серверы Explyt, так и с использованием собственных API-ключей. Поддерживаются модели от различных провайдеров (OpenAI, DeepSeek и др.), а также возможно использование локальных моделей Ollama.
Скачать плагин можно на сайте, для багрепортов и фичреквестов – GitHub Issues, для новостей и общения – телеграм.
Это наш первый публичный релиз, и хочется понять, то мы делаем или не то 🫠 снимает ли плагин часть проблем с генерацией тестов с разработчиков и тестироващиков, или мы это себе придумали. Будем благодарны за обратную связь в комментариях.