Список URI, зарегистрированных на FakeWeb
Есть ли способ получить список зарегистрированных URI в FakeWeb? Когда я регистрирую один, как:
FakeWeb.register_uri(:get, url, body: expected_response)
Кажется, что он должен быть доступен где-то, так как он отслеживает его внутри, но я не могу отследить его снаружи. Что-то вроде FakeWeb.registered_uris
, но очевидно, что это не работает.
1 ответ
Решение
Пытаться
FakeWeb::Registry.instance.uri_map
Это возвращает вложенный хеш с FakeWeb::Responder
объекты.
Когда вы регистрируете URI с помощью #register_uri, FakeWeb создает FakeWeb::Responder
который содержит URI, который затем хранится в FakeWeb::Registry
синглтон.
Наконец, вам нужно перебрать карту результатов и извлечь из нее URI:
FakeWeb::Registry.instance.uri_map.map { |_, v| v.map { |_, w| w } }.flatten.collect { |e| e.uri }.uniq
Надеюсь это поможет.