Как предотвратить слияние старых файлов пакта с новыми без необходимости полагаться на то, что мои коллеги знают, как чистить папку target / pacts? - PullRequest
0 голосов
/ 19 февраля 2020

Pact объединяет пакты на уровне файлов , это отлично подходит для объединения пактов из нескольких тестов, но не так хорошо, когда вы хотите изменить и повторно запустить тест без очистки папки target / pacts.

Конфигурация junit run по умолчанию в intellij не очищает целевую папку перед запуском тестов; Я знаю, что могу использовать maven для очистки / удаления файлов вручную, но это означает, что любой, кто запускает эти тесты локально , должен знать, чтобы запустить их определенным образом c way .

Я хочу объединять пакты из нескольких тестов, поэтому я не хочу отключать слияние. Я попытался реализовать метод before, который удаляет файлы из папки pact, если они существуют, но это было неудобно.

Я рассматриваю возможность установки папки pact во временный каталог, который удаляет себя после запуска тестов, но это может помешать распространению новых договоров у брокера, и я не хочу слишком быстро / часто удалять папку и в итоге пропадать. Также полезно иметь возможность просматривать файлы в конце, поэтому автоматическое их удаление не является идеальным.

Есть ли хороший способ остановить слияние старых пактов с новыми, не полагаясь на людей, которым просто известно , что им нужно удалить старые файлы пактов перед запуском модифицированного теста?

1 Ответ

0 голосов
/ 20 февраля 2020

Почему это актуальная проблема для вас? Как, например, да, файл pact временно больше, чем должен быть, но каково реальное влияние?

Вы все равно не должны публиковать с локального компьютера, это проблема CI (я обычно ограничиваю не предоставляя учетные данные для записи в локальные среды), поэтому, если все, что вам нужно, это иметь возможность перезапустить модульный тест, то я не буду беспокоиться.

В качестве альтернативы, если вы все используете одну и ту же среду IDE, вы можете создать IDE задает c config и возвращает его в репозиторий, который очищает каталог перед выполнением любой цели / теста.

...