ruby-on-rails - 如何测试重定向到外部 URL?

标签 ruby-on-rails url testing ruby-on-rails-3.2 http-redirect

我正在使用 rack-rewrite重定向旧版 URL。重定向到新内部路径的旧路径,我可以测试得很好,就像这样:

require 'test_helper'

class MiscellaneousTest < ActionDispatch::IntegrationTest

    test 'redirect about.php' do
        get_via_redirect '/about.php?country=US'
        assert_equal '/us/about', path

        get_via_redirect '/about.php?country=CA'
        assert_equal '/ca/about', path

        # default
        get_via_redirect '/about.php'
        assert_equal '/ca/about', path
    end
end

但我想知道的是:我如何测试旧路径现在映射到外部 URL 的用例?

例如,如果检测到以下旧路由:/blog/12345/something-cool-to-say,它现在将映射到以下外部 URL:http://blog.far.far.away.com/12345/something-cool-to-say 来自:

$BLOG_URL = 'http://blog.far.far.away-example.com'
r301 %r{^/blog/([0-9]{5})/(.*)\.php}, "#{BLOG_URL}/$1/$2" # token, slug

最佳答案

试试这个:

assert_redirected_to 'http://some.host/with/a/path'

关于ruby-on-rails - 如何测试重定向到外部 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886773/

相关文章:

python - 如何防止vscode/ms-python清除测试结果?

ruby-on-rails - 在 Rails 中是否有比 Observers 更直接的方式来执行发布/订阅模式?

ruby-on-rails - 希望 rails simple_form 单选按钮显示不是值的文本

ruby-on-rails - 如何为密码添加基本加密?

php - 有值的网址 - 没有参数? (获取请求)

java - 更改 Wicket 资源 URL 的 URL 前缀?

ruby-on-rails - 在另一个 fixture 文件中使用 Rails fixture 对象

python - 使用 urlopen 下载的进度条

java - 如何创建使用特定 JVM 参数运行的 Spring Boot 测试

reactjs - 用 Jest 测试时如何选择dom