水豚警告 "checking for expected text of nil"
Capybara warns of "checking for expected text of nil"
当我进行 运行 测试时,我碰巧在我的终端机 window 中看到了我 运行:
的特定功能规范
Checking for expected text of nil is confusing and/or pointless since it will always match.
Please specify a string or regexp instead.
我不认为我的代码对 nil
有任何不当使用,所以我想知道它是什么意思。我也没有在任何 rspec 期望或水豚方法中使用 nil
。有没有办法帮助我进一步排查此消息?
这是由于在检查例如expect(page).to have_text user.middle_name
在这种情况下 user.middle_name 为零,因为用户没有中间名。
警告消息在您的“gems-directory”/gems/capybara-x.x.x/lib/capybara/queries/text_query.rb.
中发出
要找出 nil 检查发生的位置,请在 warn
.
之前添加 raise "here I check for nil"
您将在规范中出现的行中收到运行时错误。
RuntimeError
here I check for nil
# ... stack trace omitted
# ./spec/requests/user_show_spec.rb:45:in `block (2 levels) in <top (required)>
我在使用实例变量时犯了一个错误,比如 page.should have_text @foo
,但我没有在任何地方使用或初始化 @foo
。我犯了大错。
当我进行 运行 测试时,我碰巧在我的终端机 window 中看到了我 运行:
的特定功能规范Checking for expected text of nil is confusing and/or pointless since it will always match.
Please specify a string or regexp instead.
我不认为我的代码对 nil
有任何不当使用,所以我想知道它是什么意思。我也没有在任何 rspec 期望或水豚方法中使用 nil
。有没有办法帮助我进一步排查此消息?
这是由于在检查例如expect(page).to have_text user.middle_name
在这种情况下 user.middle_name 为零,因为用户没有中间名。
警告消息在您的“gems-directory”/gems/capybara-x.x.x/lib/capybara/queries/text_query.rb.
中发出要找出 nil 检查发生的位置,请在 warn
.
raise "here I check for nil"
您将在规范中出现的行中收到运行时错误。
RuntimeError
here I check for nil
# ... stack trace omitted
# ./spec/requests/user_show_spec.rb:45:in `block (2 levels) in <top (required)>
我在使用实例变量时犯了一个错误,比如 page.should have_text @foo
,但我没有在任何地方使用或初始化 @foo
。我犯了大错。