有没有办法在FakeWeb中获取已注册的 URI 列表?当我注册一个像:
FakeWeb.register_uri(:get, url, body: expected_response)
似乎它应该在某个地方可用,因为它在内部跟踪它,但我无法在外部跟踪它。类似的东西FakeWeb.registered_uris
,但显然这不起作用。
尝试
FakeWeb::Registry.instance.uri_map
这将返回一个带有FakeWeb::Responder
对象的嵌套散列。
当您使用 #register_uri 注册 uri 时,FakeWeb 会创建一个FakeWeb::Responder
保存 uri 的 uri,然后将其存储在FakeWeb::Registry
单例中。
您最终必须迭代结果映射并从中获取 uri:
FakeWeb::Registry.instance.uri_map.map { |_, v| v.map { |_, w| w } }.flatten.collect { |e| e.uri }.uniq
希望这可以帮助。