注册到FakeWeb的URI列表

时间:2012-06-06 20:52:35

标签: ruby-on-rails ruby fakeweb

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

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

似乎应该可以在it keeps track of it internally之后的某个地方使用它,但我无法在外部追踪它。像FakeWeb.registered_uris这样的东西,但显然不起作用。

1 个答案:

答案 0 :(得分:4)

尝试

FakeWeb::Registry.instance.uri_map

这将返回带有FakeWeb::Responder个对象的嵌套哈希。

当您使用#register_uri注册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

希望这有帮助。