我正在尝试在过滤器之前编写一个 RSpec 来让用户登录。我有一个产品 Controller 。为了查看产品,用户必须登录。我在 spec/support/utilities 中添加了一个登录方法,如下所示:
def login(user)
post login_path, email: user.email, password: "password"
end
然后我在我的 spec/controllers/products 测试中调用了 before filter 中的方法:
before :each do
user = FactoryGirl.create(:user)
login(user)
end
当我运行测试时,出现以下错误:
The action '/login' could not be found for ProductsController
我有一个/login
的路由,我的用户身份验证很简单——就像Railscasts #250 Authentication from Scratch .我错过了什么?
最佳答案
如果这是 Controller 规范,那么问题是在对 Controller 进行单元测试时路由不可用。重点是隔离测试,也就是没有路由
关于ruby-on-rails - 如何使用 RSpec 登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660098/