ruby-on-rails – rspec-rails:未定义的方法`true?’ for true
发布时间:2020-12-17 03:37:59 所属栏目:百科 来源:网络整理
导读:将rspec-rails从版本2.14.0更新到3.0.0.beta2后,所有使用be_true或be_false的测试都会失败. Failure/Error: user.new_record?.should be_true NoMethodError: undefined method `true?' for true:TrueClass 有什么建议吗? Google会返回任何相关信息! 解决
将rspec-rails从版本2.14.0更新到3.0.0.beta2后,所有使用be_true或be_false的测试都会失败.
Failure/Error: user.new_record?.should be_true NoMethodError: undefined method `true?' for true:TrueClass 有什么建议吗? Google会返回任何相关信息! 解决方法
从版本3.0开始,RSpec将be_true重命名为be_truthy,将be_false重命名为be_falsey,如
https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/be-matchers中所述,并在
https://github.com/rspec/rspec-expectations/issues/283中进行了讨论.
be_true和be_false在2.99中被弃用并且在3.00中被删除,因为它们不仅分别匹配true和false,因此具有误导性.您收到的错误消息是因为缺少任何特定的be_xxxx方法定义,be_xxxx将查找并调用xxxx?在实际上. 请注意,如果要匹配true,则可以使用true(或者为(true)). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |