最近我的数据库出现了一些问题。起初我认为这是一个 factorygirl 问题,但后来我意识到 factorygirl (可能)实际上并没有使用未被清除的数据。
无论如何,我首先使用 factorygirl 创建一个新用户。然后,我以用户身份登录并导航到可以使用数据字段“foo_name”和“bar”创建新“foo”的页面。接下来,我填写“”。:with => "" 字段和 click_button "Save" 创建新的 "foo" 对象。之后我检查新对象的索引,它应该是 1,但每次我运行测试,数字都会增加 4。(现在是 72)
另外,我发现我需要在测试开始时删除旧用户,否则 factorygirl 会抱怨用户已经创建。
我几乎可以肯定 RSPEC 应该为我处理测试数据库的删除,我错了吗?如果是这样,有人会对清除数据库的“好”方法有什么好的建议吗?我已经环顾四周好几天了,到目前为止真是太糟糕了。
非常感谢你。
编辑(请求一些示例代码):
...
context "can create a new FooBar" do
before {
find_link('New Foo Bar').click
}
it 'has current_path "/foo_bar/new"' do
current_path.should == '/foo_bar/new'
end
context "when the correct information is given" do
before {
fill_in 'Name', :with => 'TestFooBar'
fill_in 'Description', :with => 'A test foo bar'
click_button 'Save'
}
it 'has current_path "/foo_bars"' do
current_path.should == '/foo_bars'
end
...
在此之后,我检查有多少 foo_bars