0
我还没有找到写作测试的rspec方法,但希望能够帮助理解我在测试中做了什么错误。什么是在rspec中测试模型值数组的正确方法?
describe Source do
describe "Upcase name" do
names = {'bob' => 'Bob',
'edward jones' => 'Edward Jones'
'Edward jones' => 'Edward Jones'}
names.each do |name,expect|
before { @source = Source.create(name: name) }
after { @source.destroy! }
it "source #{name} should be #{expect}" do
subject { @source }
@source.name.should == expect
let!(:find) do
Source.find_by_proper_name(expect)
end
it "should find" do
should == find
end
end
end
end
end
我对源模型的名称列有一个唯一的约束。
由于唯一违规,每次迭代测试都会作为失败返回。 (即使我认为它会在每次迭代中只创建一个模型)
如果我将三个中间值取出,所以如果一次创建所有名称都是唯一的,那么测试将失败,因为@source等于在所有测试中最后一个值。
基本上我想要干的方式来编写测试
Source.create(name: "bob").name.should == "Bob"
Source.create(name: "edward jones").name.should == "Edward Jones"
Source.create(name: "Edward jones").name.should == "Edward Jones"
我应该怎么做呢?