Я поддерживаю веб-API, написанный на Ruby. Он подключается ко многим сторонним веб-службам. При написании тестов я блокирую любую функцию, которая должна была бы подключаться к сети и вместо этого возвращать данные в бутылках.Возможно ли предотвратить открытие экземпляра Ruby из сетевого соединения?
Это случилось со мной до этого, я забыл этот шаг ступени, и мои интеграционные тесты в конечном итоге фактически подключаются к стороннему сервису.
Учитывая это, я хотел бы запретить Ruby открывать сетевые подключения. Когда я попытался, я хотел бы, чтобы вместо этого я сделал исключение, указав, какую функцию я забыл заглушить.
Возможно ли это? Какую центральную функцию Ruby мне нужно было бы переопределить для достижения этого с минимальными другими побочными эффектами?
Увы, это только отключает HTTP-соединения ... Библиотекам, таким как [ruby-ldap] (https://github.com/ruby-ldap/ruby-net-ldap), по-прежнему разрешено подключаться через TCP-соединения. – Hubro