Я понимаю, что Test Kitchen следует последовательности
создать узел > объединить поваренную книгу > запустить тесты
Как лучше всего создать тест, предполагающий сильную внешнюю зависимость?
Примером может служить кулинарная книга Кафки https://supermarket.chef.io/cookbooks/kafka. Как вы, возможно, знаете, Kafka — это брокерское приложение для обмена сообщениями, которое зависит от Zookeeper, отдельного приложения, которое является концентратором сообщений.
После надлежащего разделения обязанностей в поваренную книгу Kafka не входит Zookeeper — его можно установить на том же хосте или на другом компьютере.
Однако для простой проверки работоспособности Kafka (т. е. создания простого сообщения) вам необходимо запустить сервер Zookeeper.
Например, тест может запускать эти три команды после установки.
# creates a message topic
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test
# lists existing message topics
bin/kafka-list-topic.sh --zookeeper localhost:2181
# sends a message to this machine
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Есть ли способ с помощью Chefspec заглушить этот внешний сервер (часть localhost: 2181 выше)?
Спасибо!