【发布时间】:2021-05-08 04:29:31
【问题描述】:
我正在尝试通过最后一个测试,尝试引发一个我无法使其工作的异常。有什么我没看到的吗?我已经查看了几个小时并寻找答案,提前感谢任何可能对此做出回应的人。
错误信息:
失败/错误:期望{birthday_list.show_birthdays}.to raise_error{'没有可用的生日!'} 预期异常,但未引发任何异常
测试:
describe BirthdayList do
birthdays = @birthdays
birthday_list = BirthdayList.new
describe '#add' do
it 'adds a birthday to the list' do
expect(birthday_list.add('name','date')).to eq ([{:dates=>"date", :names=>"name"}])
end
end
describe '#show_birthdays' do
it 'throws an error when there is no birthdays' do
@birthdays = []
expect{birthday_list.show_birthdays}.to raise_error{'No birthdays avalible!'}
end
it 'prints all birthdays' do
expect(birthday_list.show_birthdays).to eq "name, date\n"
end
end
end
和代码
class BirthdayList
def initialize
@birthdays = []
end
def add name,date
birthday = {:names => name, :dates => date }
@birthdays.push(birthday)
end
def show_birthdays
raise 'No birthdays avalible!' unless @birthdays
list_to_print = ''
@birthdays.each do |b|
print "#{b[:names]}, #{b[:dates]} \n"
end
@birthdays.each do |b|
list_to_print += "#{b[:names]}, #{b[:dates]}\n"
end
list_to_print
end
end
【问题讨论】:
标签: ruby unit-testing testing rspec