Eu tenho um teste de capivara que verifica o conteúdo em uma página. Eu tenho uma tag img thats src pede uma URL que não existe. Quando eu corro o teste eu recebo:
Failure/Error: raise ActionController::RoutingError, "No route matches [#{env["REQUEST_METHOD"]}] #{env["PATH_INFO"].inspect}"
ActionController::RoutingError:
No route matches [GET] "/avatars/original/missing.png"
Eu sinceramente não me preocupo com este pedido. Existe alguma maneira para mim stub /avatars/original/missing.png
no meu teste de capivara?
Respostas:
4 para resposta № 1Ao usar Poltergeist você pode usar a lista negrafuncionalidade para bloquear pedidos específicos. Se estiver usando o Poltergeist 1.10.0+, você pode configurá-lo para cada teste no bloco de registro do driver, adicionando a opção: url_blacklist
Capybara.register_driver :poltergeist do |app|
# Change domain name as necessary
options = { url_blacklist: ["http://www.example.com/avatars/original/missing.png"] } # you can also use * as a wildcard
Capybara::Poltergeist::Driver.new(app, options)
end
Em pré 1.10 ou se você quiser fazer em um teste por teste / antes de bloco, você pode fazer
page.driver.browser.url_blacklist = ["http://www.example.com/avatars/original/missing.png"]