如何在测试环境中删除单个路由?

时间:2016-03-17 17:39:03

标签: ruby-on-rails ruby ruby-on-rails-4 routes tdd

所以,我有一个测试,我在控制器上创建一个动作来测试某些东西。为此,我在控制器上添加了操作并为我的操作创建了一个路径,如下所示:

before do
    test_routes = Proc.new do
        get    'mocked_action', to: 'custom_controller#mocked_action',  as: :mocked_action
    end
    MyApp::Application.routes.send :eval_block, test_routes
end

那么,如何删除此路由?

after do
    #Remove my temp route here
end

1 个答案:

答案 0 :(得分:0)

您可以使用动态约束来切换设置临时路线:http://raysrashmi.com/2014/07/23/rails-routes-constraints/

通过设置标志等可以在挂钩之前和之后启用和禁用。 一般来说,我想知道你的测试设置是否应该这样做。在我看来,取决于用户角色会更直接。