Используйте Sping AOP для перехвата выполнения метода для записи и воспроизведения.
Укажите конкретные классы и методы
Пакет подстановочных знаков, имена классов и методов
Сочетание двух вышеперечисленных
Запись: запишите процесс выполнения определенного метода, чтобы сформировать MockRecord и сериализовать его в файл JSON.
Воспроизведение: при выполнении метода, если он находится в диапазоне воспроизведения, выполнение метода будет перехвачено, и в результате этого выполнения будет возвращена запись MockRecord, соответствующая выполнению метода.
Инкрементная запись: если во время воспроизведения запись не найдена, выполняется и записывается реальный метод.
Вспомогательное интеграционное тестирование. Разработчики используют JUnit5+SpringBootTest для интеграционного тестирования и используют @ServiceMock для указания зависимостей для записи и воспроизведения.
Запись и воспроизведение интерфейса. При работе микросервиса варианты использования автоматизации интерфейса, которые можно использовать для воспроизведения, автоматически формируются путем перехвата HTTP-запросов и указания зависимостей во время обработки.
Перезапись серверной части: воспроизведите и перезапишите указанные зависимости в соответствии с предоставленным файлом HTTP-запроса, чтобы обновить вариант использования автоматизации интерфейса.
Запись исключений. Если во время выполнения метода возникает исключение, это исключение необходимо записать, чтобы то же исключение можно было использовать в качестве результата при повторном выполнении метода во время воспроизведения.
Воспроизведение с сохранением состояния: по умолчанию во время воспроизведения будет возвращена первая соответствующая запись MockRecord. В некоторых случаях, например при проверке баланса счета до и после передачи, для одного и того же запроса ожидаются разные возвращаемые значения, поэтому воспроизведение с сохранением состояния предназначено для поддержки таких сценариев.
Изменения входных параметров: до и после выполнения метода входные параметры метода могут измениться. Например, входным параметром метода является сущность, а определенному атрибуту сущности, например идентификатору, присваивается значение после. метод выполняется, или атрибуту метода присваивается значение. Первым входным параметром является карта, и после выполнения метода в карту вставляются дополнительные записи.
Сопоставление моделирования: если во входных параметрах метода есть временные метки, порядковые номера и т. д., которые будут меняться каждый раз при выполнении метода, эту проблему можно решить с помощью нечеткого сопоставления.
Интерфейс обратного вызова Mock: для особенно сложных сцен пользователи могут использовать этот интерфейс обратного вызова, чтобы изменить записанные данные Mock для воспроизведения в соответствии с некоторыми индивидуальными потребностями.
Методы записи и воспроизведения для потоков, итераторов, файлов, дженериков, сеансов, интерфейсной пагинации и т. д., которые не могут быть сериализованы.
двойной переключатель,
Переключатель загрузки: не загружается по умолчанию при производстве, чтобы избежать несчастных случаев на производстве.
Переключатель включения: необходимо указать, чтобы он был включен перед работой, включите его при необходимости.
Прототип инструмента см. 2021 Статья 1. Полный случай записи и воспроизведения дорожного движения