有没有办法在FakeWeb中获取已注册uri的列表?当我注册一个像:

FakeWeb.register_uri(:get, url, body: expected_response)

似乎它应该在某个地方可用,因为it keeps track of it internally,但我无法从外部跟踪它。类似于FakeWeb.registered_uris,但显然这不起作用。

最佳答案

尝试

FakeWeb::Registry.instance.uri_map

这将返回带有FakeWeb::Responder对象的嵌套散列。
当您使用register uri注册uri时,fakeweb会创建一个包含uri的FakeWeb::Responder,然后将其存储在FakeWeb::Registry单例中。
最后,您必须迭代结果映射并从中获取uri:
FakeWeb::Registry.instance.uri_map.map { |_, v| v.map { |_, w| w } }.flatten.collect { |e| e.uri }.uniq

希望这有帮助。

关于ruby-on-rails - 注册到FakeWeb的URI列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10922108/

10-10 22:00