Вот мой код:Рубин/Rspec: должен be_false против должен == ложных
class Dictionary
def entries
@entries ||= {}
end
def add(hash)
if hash.class == Hash
hash.each_pair do |k, v|
entries[k] = v
end
else
makehash = {hash => nil}
self.add(makehash)
end
@entries = entries
end
def keywords
@entries.keys
end
def include?(k)
if @entries == nil
false
elsif self.keywords.include?(k)
true
else
false
end
end
end
А вот тест я бег его против:
require 'dictionary'
describe Dictionary do
before do
@d = Dictionary.new
end
it 'can check whether a given keyword exists' do
@d.include?('fish').should be_false
end
Теперь, что тест потерпит неудачу. Однако, если я изменю его на
it 'can check whether a given keyword exists' do
@d.include?('fish').should == false
end
затем он проходит.
Как изменить код, чтобы should be_false
прошел вместо should == false
? Благодарю.
вы пробовали 'должны be_false'? Также вы, вероятно, должны использовать '@d.should include 'fish'' – BroiSatse
@BroiSatse Мои извинения. 'should be_false' - это то, что я хотел поставить в исходное сообщение. Я отредактировал его. Я хочу заставить 'should be_false' работать. – arealhumanbean
Посмотреть это сообщение: http://stackoverflow.com/questions/24995582/command-be-true-seems-not-to-work-in-rspec-2-1 –