В настоящее время я углубляюсь в методы тестирования, хотя я не уверен, что я все еще живу в стране юнит-тестов или уже оставил ее в стране интеграционных тестов.
Позвольте мне немного пояснить: учитывая, что два компонента A и B и A используют B, тогда у нас есть определенный «восходящий контракт» для B и определенный «нисходящий контракт» для A. В основном это означает: если A использует B правильно и B ведет себя правильно, тогда оба контракта будут выполнены, и все будет работать правильно.
Я думаю, что макеты - это способ гарантировать подмножество восходящего контракта, которое требуется для данного тестового примера. Например, соединение с базой данных может иметь восходящий контракт для извлечения записей данных, если они были вставлены ранее. Макет соединения с базой данных гарантирует возврат определенных записей, не требуя их вставки в базу данных.
Однако мне сейчас интересно, есть ли способ проверить также и нисходящий контракт. На примере подключения к базе данных может быть заключен нисходящий контракт: необходимо подключиться к базе данных и убедиться, что соединение существует и работает, и ввести правильные SQL-запросы.
Кто-нибудь делает что-то подобное? Стоит ли это работать для более сложных контрактов? (Например, для подключения к базе данных может потребоваться анализатор SQL для полной проверки вызовов на уровне базы данных)
Привет, Тета