В начале прошлого года наша первоначальная цель AutoDev с открытым исходным кодом заключалась в следующем:
AutoDev — это плагин программирования с открытым исходным кодом, основанный на ИИ JetBrains. AutoDev может напрямую взаимодействовать с вашей системой управления требованиями (например, Jira, Trello, Github Issues и т. д.). В IDE вы просто щелкаете мышью, и AutoDev автоматически генерирует для вас код в соответствии с вашими потребностями. Все, что вам нужно сделать, это выполнить проверку качества сгенерированного кода.
Теперь мы делаем еще один шаг вперед в достижении этой цели: создание точных модульных тестов одним щелчком мыши. В этой статье мы рассмотрим некоторые функции версии 1.4 (Team AI for Teams) до версии 1.5.3:
Добро пожаловать к нам: https://github.com/unit-mesh/auto-dev/ и создайте своего собственного помощника по полнопроцессному кодированию с помощью искусственного интеллекта.
В процессе разработки мы выбрали ArchGuard в качестве пилотного проекта AutoDev для поддержки искусственного интеллекта. ArchGuard — это платформа управления архитектурой с открытым исходным кодом, написанная на Kotlin. Постоянно накапливайте данные и опыт в процессе, чтобы лучше поддерживать опыт использования языка Kotlin.
В сочетании с опытом генерации 90 тестовых классов и более 200 тест-кейсов в проекте ArchGuard мы продолжаем оптимизировать логику генерации тестов (вероятно, какие-то ошибки еще есть).
Поэтому в AutoDev Существует вероятностьГенерировать напрямуюДоступно напрямуюизединицатест。
В текущей версии контекст теста будет содержать не только соответствующую информацию о классе, но также полную информацию о входных и выходных классах. То есть посредством статического анализа кода получается информация, связанная с сервисом, а также такая информация, как ввод и вывод каждой функции. Когда тестируемый класс является классом, связанным со Spring, будет оцениваться, является ли он контроллером или службой, и будут даны некоторые правила тестирования.
Справочник по реализации кода JavaTestContextProvider
、 KotlinTestContextProvider
реализация.
существовать ArchGuard , по неизвестным историческим причинам необходимо написать некоторые специальные аннотации —— И Модель не всегда генерирует желаемое из. Учтите, что такая ситуация также будет иметь место в большинстве проектов. Поэтому для Controller и Service С помощью другого теста вы можете настроить шаблоны модульных тестов.
Логика тестирования каждого проекта различна. Кроме того, мы рекомендуем использовать подсказку в качестве кода для управления, и вы можете поделиться ею со своей командой.
Сопутствующая документация: https://ide.unitmesh.cc/customize/custom-test-template.html.
похожий,существоватьиспользовать AutoDev из API Функция генерации данных, которую мы также объединили с оптимизацией статического анализа кода, соответствующей возможностям контекста, может Генерировать доступные данные непосредственного тестирования.
Подробности см.: JavaTestDataBuilder
и KotlinTestDataBuilder
Связанные реализации.
Сейчас существуют, просто откройте его AutoDev Страница конфигурации AutoDev
Coder
, можно сделать больше конфигураций для приватизации.
Для лучшего тестирования откройте большую языковую модель, а также внутреннюю модель с инструментами адаптации. Добавлена в нашу существование новая версия Recording
Instruction
In
Local
из функции, т. е. вы можете записывать с AI Взаимодействуйте с данными и используйте их для точной настройки и оценки образцов.
В то же время удобно поддерживать AutoDev Debug.
На странице конфигурации вы также можете настроить, например, Explain code
、 Refactor code
、 Fix issue
、 Generate test
четыре основныхиз AutoDev Chat Связанный prompt。
После дальнейшего создания внутреннего контекста будет выпущено больше контекстных интерфейсов с использованием шаблонов.
документ, существование которого в настоящее время может поддерживаться Python、 Rust、 JavaScript Язык формирования аннотационного документа. В то же время из-за OpenAI часто для Kotlin Генерация классов бесполезнаизаннотация функции,Мы также провели оптимизацию этой функции.,Выбирайте только прокомментированный код перед классом.
Автоматизация – это стремление AutoDev к основным функциям,В этом году мы также представили больше проектов для ежедневного процесса разработки. В этой версии существования,В основном предоставляет две новые функции.
То есть перед отправкой кода вы можете сделать AI Приход поможет вам выполнить некоторые предварительные шаги. просмотрите, чтобы избежать ненужных ошибок.
существовать ArchGuard используется в проектах AutoDev При рефакторинге мы сгенерировали 167 Отправляйте информацию каждый раз с учетом всех функций 1/3 . Поэтому мы тратим больше времени на создание более качественной информации о представлении. —— Как лучше контролировать token。
В будущем мы также сосредоточимся на: