0
我的Rails 5.1,并使用默认的系统测试测试类型错误与水豚assert_text的Rails 5.1
我在一类RetreatTest下面的代码:
test "Create a new Retreat" do
visit retreats_url
click_on 'Create a new Retreat'
fill_in "Title", with: "Retreat Title"
fill_in "Tagline", with: "Retreat tagline"
select('Individual', from: 'Type')
fill_in "Description", with: "Retreat Description"
attach_file('Image', Rails.root.join('test', 'images', 'test-1.jpg'))
click_on "Submit"
assert_text("Retreat was successfully saved.")
end
我不明白为什么如果我写的,而不是assert find('.alert').has_content?('Retreat was successfully saved.')
所有assert_text
我的测试中通过
Error:
RetreatsTest#test_Create_a_new_Retreat:
TypeError: exception class/object expected
test/system/retreats_test.rb:36:in `block in <class:RetreatsTest>'
:我不断收到此错误。
有人可以帮助我吗?
编辑1: 在与回溯选项运行测试,我得到如下:
Error:
RetreatsTest#test_Create_a_new_Retreat:
TypeError: exception class/object expected
/Users/dhaliman/.rvm/gems/ruby-2.3.1/gems/capybara-2.14.2/lib/capybara/minitest.rb:52:in `raise'
/Users/dhaliman/.rvm/gems/ruby-2.3.1/gems/capybara-2.14.2/lib/capybara/minitest.rb:52:in `rescue in assert_text'
/Users/dhaliman/.rvm/gems/ruby-2.3.1/gems/capybara-2.14.2/lib/capybara/minitest.rb:48:in `assert_text'
/Users/dhaliman/Code/Workspace AVR WebApp/avr/test/system/retreats_test.rb:36:in `block in <class:RetreatsTest>'
您是否有更多的错误堆栈跟踪,所以我们可以看到哪个版本的'assert_text'被调用? –
如何在系统测试中做堆栈跟踪?任何想法? – dhaliman
由于这是一个错误而不是测试失败异常,因此您可以尝试使用:verbose或:backtrace选项运行测试 - 'rails test -b test' –