Исправление агента не проверяется, если оно может редактировать доказательства. Проверки свойств, фикстуры и заморозки ненадежных тестов ограничивают модель только тогда, когда эти файлы находятся за пределами записываемого различия. Зелёный сюит после переписывания теста - ошибка классификации...
Исправление агента не проверяется, если оно может редактировать доказательства. Проверки свойств, фикстуры и заморозки ненадежных тестов ограничивают модель только тогда, когда эти файлы находятся за пределами записываемого различия. Зеленый набор после переписывания теста — это ошибка классификации, а не проход.
В этой статье указано ограждение пути. Агент может изменить src/. Это не может изменить oracle/. Задание слияния хэширует дерево оракула и отклоняет любые изменения, которые его касаются, воссоздает замороженный путь или удаляет свойство.
Неудача, ради которой построен забор
Агенты оптимизируют вознаграждение, которое они видят. Если тесты находятся в той же кассе, что и рабочий код, дешевая стратегия — отказаться от утверждения, пропустить фрагмент или заново создать золотой файл из новых результатов. Производственная функция может остаться неправильной. Люкс остается зеленым.
Ненадежные тесты удешевляют ошибку. Скип выглядит как гигиена. Переписанный прибор выглядит как обновление. Ни то, ни другое не доказывает сохранение поведения патча. Забор рассматривает эти изменения как другой класс изменений: тестовую мутацию, а не исправление продукта.
Что остается собственностью человека
Сохраните три класса файлов в oracle/, зафиксированные людьми, а не предлагающими:
Свойства. Инварианты, которые должны соблюдаться для любого допустимого ввода, а не для одного повтора.