背景
我想为Ruby on Rails应用程序编写以下测试。
原因是我发现了一个错误,关于我们的链接我可以参考' / welcome / about /'所以它转到/ users / welcome / about哪个不存在。
我的代码
我的测试代码如下:
test 'welcome page from user page works' do
log_in_as(@user)
get edit_user_path(@user)
assert_select "a", { :text=> "About Us" }
click_on ("About Us")
assert_template 'welcome/about'
end
错误消息
ERROR["test_welcome_page_from_user_page_works", WelcomePageTest, 1.42307711095782]
test_welcome_page_from_user_page_works#WelcomePageTest (1.42s)
Capybara::ElementNotFound: Capybara::ElementNotFound: Unable to find link or button "About Us"
test/integration/welcome_page_test.rb:13:in `block in <class:WelcomePageTest>'
Finished in 1.42605s
1 tests, 1 assertions, 0 failures, 1 errors, 0 skips
由于有1个断言,这让我认为链接存在过去的断言但是click_link无法找到它?
编辑这是我测试的最终代码:
test 'welcome page from user page works' do
log_in_as(@user)
visit edit_user_path(@user)
click_on ("About Us")
assert_template 'welcome/about'
end
注意我也改变了刚刚硬编码的路线:
get 'about' => 'welcome#about'
答案 0 :(得分:0)
对于水豚,请使用visit
方法代替get
visit edit_user_path(@user)