1

在我的路线中,我有以下内容:

match '/:org_id/users/:id/receive_message' => 'users#receive_message', :via => [:get, :post], :org_id => /[a-z0-9.-]+/i, :id => /[a-z0-9.-]+/i

在我的路线测试中,我有以下内容:

assert_routing({method: 'post', path: '/test4.example.com/users/user.test.email/receive_message'}, {controller: "users", action: "receive_message", org_id: "test4.example.com", id: "user.test.email"})

哪个工作正常。除非我对动作进行集成测试

post "/123/users/456/receive_message"

我得到一个 301 重定向到http://example.com/123/users/456/receive_message

我已关闭此操作的设计身份验证和authentity_token 检查。它永远不会到达集成测试中的任何 before_* 过滤器。该操作在生产中运行良好。使用现有的 Rails 4 测试框架进行单元、控制器和集成测试,并使用 FactoryGirl 进行模拟。

有任何想法吗?

4

0 回答 0