我希望我的 rspec 测试加载我的 YAML 固定装置,并且我希望它们被加载到事务中,以便它们在每次测试后消失。
describe "the thing I'm testing"
fixtures :sandwiches, :condiments
before(:each) do
# stuff
end
it "makes sandwiches"
# making sandwiches
end
end
当调用fixtures
存在时(在describe
块中,但不在before
块中),它加载我的三明治和调味品,但在事务之外,因此被提交。好吧,看起来是这样的;可以肯定的是,测试完成后我的装置仍在数据库中。
我想也许我可以将调用fixtures
放在before
块中,在事务中,但后来我得到了
NoMethodError:<RSpec::Core::ExampleGroup::Nested_1:0x007fd1f11f7578> 的未定义方法“fixtures”
所以我想我可以使用 DatabaseCleaner 或类似的东西,但是......没有它我不能得到我想要的东西吗?