golden тесты на circe, но это только бек. умные люди еще посоветовали https://docs.pact.io/
есть еще какие-то альтернативы?
не уверен, что такие тесты оправданны. e2e-тесты часть таких ошибок отловят, вопрос: стоит ли оставшаяся часть отдельного слоя тестов, или, может, за те же деньги получше покрыть фичи e2e-тестами? Потом, можно генерировать клиентов из спеки апи, сваггера, скажем. Родной сваггер-кодоген, правда, плохой, так что только свой саппортить. Ну и саму спеку можно использовать, чтобы контракты выражать поточнее. Скажем, какую проблему можно найти с помощью таких тестов на совместимость апи-клиент: есть интовое поле, сервер сует туда -1, клиент не ожидает. Можно очень хорошо покрыть это "тестами на совместимость", буквально руками учтя значимые частные случаи - это больно, пачка тестов на каждый филд. Можно делать что-то с пространством состояний, не модел чекинг - тоже больно - а, скажем, в духе property-based testing. Можно сразу захватывать контракты в спеке ("здесь только неотрицательный инт") и корректным образом хэндлить контракты в своем кодогене - самый дешевый, наверное, вариант с хорошим выхлопом, не надо реверсить контракты в тестах.
если делать именно такие тесты на совместимость, то на чем-нибудь со стороны жс, то есть, по сути, обрезанные e2e-тесты. Проверка кросс-браузерной совместимости там не нужна, можно сделать подешевле
Обсуждают сегодня