为什么不直接在 test 数据库中插入种子数据,测试的时候直接使用,感觉用 FactoryGirl 的时,存在关联的时候,特别是关联很复杂时,感觉好麻烦
--可能上面没有描述清楚,我的意思是在 seed.rb 中插入整个测试要使用的数据,这样每次测试就提取 test 数据库,为什么不这样去做呢?
Fixture,这不是 Rails 的默认做法嘛?
#1 楼 @iBachue 那为什么不使用种子数据来测试呢
#3 楼 @hw676018683 没说不能用 只是大家不用
http://stackoverflow.com/questions/5183975/factory-girl-whats-the-purpose 也许可以看看这里面的回答。
最直接的原因是 mongoid 不支持 fixture. active record 下用不用就看喜好了。
This is a good article about fixtures v.s. factorygirls
我不懂怎么设置一个满足所有测试需求的 Fixture 数据集,FactoryGirl 可以在每个 test case 中独立。
cucumber 用的就是类似这种方式导入数据。但 cucumber 做的是集成测试。
Factorygirls 似乎用在单元测试多一些。单元测试,是尽可能不依赖外部。所以应该有单独的数据。
FactoryGirl + FFaker