我是Capybara和RSpec代码的新手,并且面临一些奇怪的问题。
我有一个名为bill_of_lading的资源。在耙路中,我得到了:
bill_of_ladings GET /bill_of_ladings(.:format) bill_of_ladings#index
POST /bill_of_ladings(.:format) bill_of_ladings#create
new_bill_of_lading GET /bill_of_ladings/new(.:format) bill_of_ladings#new
edit_bill_of_lading GET /bill_of_ladings/:id/edit(.:format) bill_of_ladings#edit
bill_of_lading GET /bill_of_ladings/:id(.:format) bill_of_ladings#show
PUT /bill_of_ladings/:id(.:format) bill_of_ladings#update
DELETE /bill_of_ladings/:id(.:format) bill_of_ladings#destroy
在我的Rspec中,我试图测试新提单的创建(一切都可在网络应用程序上完成)
这是我的测试场景:
RSpec.feature "Creating Bill of Lading" do
scenario "A user creates a new Bill of Lading" do
visit('/bill_of_ladings')
click_link "New Bill of Lading"
end
在我的bill_of_ladding / index.erb中,我有:
<%=link_to "New Bill of Lading",new_bill_of_lading_path(),:title => "New Bill of Lading",:class => "btn btn-primary"%>
运行rspec时出现此错误:
失败:
1) Creating Bill of Lading A user creates a new Bill of Lading
Failure/Error: click_link "New Bill of Lading"
Capybara::ElementNotFound:
Unable to find link "New Bill of Lading"
我在这里做错了什么?
答案 0 :(得分:0)
这里的问题是:
我放了一条调试线来检查current_path。它得到:
/ spud / user_session / new
因此,当然,该页面已被重定向到登录页面,但没有找到链接。
结束问题。