0
有人可以向我解釋這裏有什麼問題。學習RSpec - 我收到了一封失敗的測試結果 - 希望:「Miller」得到:無。我認爲第二個'block'之前只是將middle_name與原始的@valid_attributes合併。什麼是這樣做的正確方法。我知道我可以簡單地說p.middle_name來分配它,但我正在嘗試學習RSpec的概念。RSpec屬性散列
describe Person do
describe "Validations" do
subject { p }
before { @valid_attributes={first_name: "Joe", last_name: "Sample"} }
...
context "with optional middle name" do
let(:p) { Person.new(@valid_attributes) }
before { @valid_attributes.merge({middle_name: "Miller"}) }
its(:middle_name) { should eq("Miller") }
end
end
end
同意。看起來你不僅僅是RSpec的新手,而且還是Ruby。你需要意識到哪些方法會改變對象,哪些不改變。正如托克蘭指出的那樣,#merge不會變異,而#update會變。 – TreyE
的確如此,我也在學習Ruby。謝謝你的建議。 – basheps