Я занимаюсь разработкой статической библиотеки C ++, имеющей несколько публичных API.Я должен реализовать Consumer Driven Contract для API, которые предоставляет библиотека.Но в моем случае я должен предоставить контракт потребителям, с которыми они согласятся.
Источником вдохновения для внедрения Контрактного тестирования послужил PACT (https://docs.pact.io/). Контракт в PACT составлен в виде файла JSON и в основном основан на ответах REST и http.
Если мне нужно реализовать тестирование на основе контракта для API C ++. Тогда какой подход лучше. Я мог бы увидеть, что boost имеет Design By Contract, но это больше похоже на утверждения, но в файле, подобном PACT, контракт не определен. (https://www.boost.org/doc/libs/develop/libs/contract/doc/html/index.html)
Есть ли способ, которым контракт может быть определен в файле, и все API могут быть протестированы. Основная цель этого - тестирование в изоляции.
Не могли бы вы поделитьсянекоторые входные данные для реализации контрактов, определенных в файле, и написание тестовой программы для этих контрактов.