我目前正在使用 FactoryGirl 和 Rspec 来测试我的模型,这很棒,但速度非常慢。我为每个模型进行的数百次测试运行每个模型大约需要 30 秒。
核心问题是,当我创建一个要测试的对象时,我正在使用该FactoryGirl.create()
方法。这会影响数据库,并且肯定比使用build
or慢build_stubbed
。但是如果我只使用构建,那么我永远不会知道我是否遇到了正确的数据库错误(例如尝试将空值写入我指定为非空的列)?
有什么办法可以两全其美?或者我应该在模型/单元测试之外的某个地方明确地测试数据库集成部分?