我还是铁杆新手,对我与RSpec测试相关的作业有疑问。
首先,这是分配参数:
以下是我在app / models / user.rb文件中提出的内容:
before_save { @name.map{|v| v.split.map{|x| x[0].upcase + name[1..-1]}.join(' ')}}
这适用于我需要它做的事情。我知道我倒退了,但我不太清楚如何为此编写RSpec测试。
这是我在spec / user_spec.rb中的尝试:
describe "capitalize user name" do
it "should capitalize first and last names" do
expect(name).to_be capitalize
end
end
显然这不起作用。任何帮助将不胜感激。
答案 0 :(得分:1)
根据您的分配参数,您的测试需要创建用户,保存它,然后进行测试以确保名称已正确格式化。类似的东西:
it "should capitalize first and last names" do
user = User.new(name: "jon malis")
user.save!
expect(user.name).to_eq "Jon Malis"
end
其他一些需要考虑的事情......比如" Harry S. Truman"和麦当娜"麦当娜"和莱昂纳多迪卡普里奥"。最后,请阅读Ruby的capitalize
方法。