在我的 RSpec 文件中,我使用 FactoryGirl 创建了我在 RSpec 文件中使用的对象。在我的 RSpec 文件中,我使用了三个对象A
,B
其中C
C 依赖于 B,B 依赖于 A。在 RSpec 文件中,我编写了两个测试用例:一个用于测试index
控制器的方法,另一个用于update
方法。因此,我创建了用于测试这两种方法的对象,如下所示:
before(:each) do
@A = FactoryGirl.create(:A)
@B = FactoryGirl.create(:B)
@C = FactoryGirl.create(:C)
end
这里我使用的是Rails的测试环境,所以我使用的是我已经拥有的相应的测试数据库。所以为了在运行后清理数据库,我编写了以下代码:
after(:each) do
C.all.destroy
B.all.destroy
A.all.destroy
end
但问题是,在运行规范后,当我检查与它们对应的表时,我发现数据没有被删除。在这里,我在模型中使用了 DataMapper。所以可以请任何人帮助我解决这个问题,即在每次运行规范后清理这些表。谢谢你。