У меня здесь есть демонстрационный проект https://github.com/donalthurley/pact-demo, который показывает мою проблему.
Общая проблема заключается в том, что я пытаюсь разработать API, который соответствует контракту PACT, в котором контракт использует URL-путь, включающий контекст.
API контроллера загрузки Spring отображает запрос без контекста в пути, см. https://github.com/donalthurley/pact-demo/blob/master/src/main/java/com/example/demo/DemoController.java#L22 а>
Контракт PACT определяет тот же запрос с контекстом 'demo', добавленным к пути URL-адреса, см. https://github.com/donalthurley/pact-demo/blob/master/src/main/resources/demo-pact.json#L14
Когда pact генерирует модульные тесты, он терпит неудачу в этом случае с ошибкой 404.
Если контекст удален из контракта PACT, то сгенерированные тесты проходят успешно.
У меня такой вопрос: могу ли я сказать поколению PACT использовать «демонстрационный» контекст, чтобы сгенерированные тесты работали?
Этот предыдущий ответ Как установить путь контекста в Spring Boot WebMvcTest предполагает, что это невозможно, но я хотел бы подтвердить это, поскольку не понимаю, почему это не должно поддерживаться.