我有以下方法
def calculate_gpa
# method code
end
在我的测试中,我有以下内容:
s = Student.new
# some tests
describe "#calculate_gpa" do
grades = s.calculate_gpa
it "must add final_grade key/value pair to student hash" do
grades.each do |grade|
expect(grade.keys).to include('final_grade')
expect(grade.values).not_to include(nil)
end
end
end
问题是测试密钥的行失败,实际结果包含除final_grade
之外的所有散列密钥。当我在irb中调用方法时,打印键final_grade
就在那里。
我无法弄清楚我的rspec语法是错误还是我的逻辑,所以任何帮助都会非常感激。我应该注意到我只使用红宝石,没有铁轨。
答案 0 :(得分:0)
如果您发布Student
代码,那将非常有用。
但是,在这种情况下你应该使用let
:
let(:grades) { s.calculate_gpa }