ruby-on-rails - 注册到 FakeWeb 的 URI 列表

标签 ruby-on-rails ruby fakeweb

有没有办法获取 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 会创建一个 FakeWeb::Responder 来保存该 uri,然后将其存储在 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/

相关文章:

ruby-on-rails - 如何获取列表中具有相同类别的所有项目

ruby-on-rails - Elasticsearch /轮胎 : How to map to association attribute?

ruby-on-rails - 传递类或字符串化的类名?

ruby-on-rails - stub 图像 url 并返回图像

ruby-on-rails - RSpec::Core::ExampleGroup::Nested_2 中未定义的方法 `it'

ruby-on-rails - 如何在 rails 中使用 link_to_remote 调用文件下载?

ruby-on-rails - Ruby:调用方法列表,直到一个方法返回 true

javascript - 如何返回对象而不是字符串来响应诺克?

ruby-on-rails - 安装therubyracer(0.10.1)时发生错误

javascript - BackboneJS、RequireJS 应用程序模块可从整个项目访问