根据答案,我可以对黄瓜使用rspec
期望形式。
value = true
expect(value).to be_a(TrueClass) # => true
但是如果我使用#be_true
方法,它会拒绝回答,但有例外:
expect(true).to be_true # => RSpec::Expectations::ExpectationNotMetError: expected true to respond to `true?`
所以我不能像在rails
那样使用这种方法,但没有rails
本身。所以问题是我如何添加不包括rails
的方法,而不是手动定义它们?
尝试如下:
expect(true).to be true
尽管 RSpec 文档指出如果对象不nil
或false
be_true
会通过,但在实践中我发现如果对象true
,它不会通过。如果要检查该值是否具体true
,而不仅仅是真实值,则需要使用be true
、(带空格)、eql true
、eq true
、equal true
等。
(如果您还不熟悉,可以在此处阅读 RSpec 的相等匹配器之间的区别。您没有说您使用的是哪个 RSpec 版本,因此这适用于 3.2,我相信其他版本也是如此。