测试一个大型应用程序,最好是黑白工厂女孩、机械师或制造。由于 Factory Girl 制作真实对象,因此它会访问数据库并使测试变慢,而我想快速运行测试?
机械师和制造是工厂女孩的好选择吗?并且还想运行模型的所有回调,例如“after_save”等。
测试一个大型应用程序,最好是黑白工厂女孩、机械师或制造。由于 Factory Girl 制作真实对象,因此它会访问数据库并使测试变慢,而我想快速运行测试?
机械师和制造是工厂女孩的好选择吗?并且还想运行模型的所有回调,例如“after_save”等。
FactoryGirl 的方法不会命中数据库,例如:
FactoryGirl.build(:object)
我认为这个答案应该与性能无关,而是与便利有关。我曾经使用过 Facticator 和 FactoryGirl,我打赌 FactoryGirl 更方便,并且允许做一些其他制造商不提供的事情(例如特征、自动构建关联等)。FactoryGirl 还有一个更大的社区。所以我的回答是 FactoryGirl 是最好的
利用:
FactoryGirl.build(:object)
..并使用after_build
回调。您也可以构建关联的对象。但是,在您保存对象之前,它们不会有 ID。
在制造中,您有一个 Fabricate.attributes_for(:model) 执行一种.build但如果您有嵌套模型,并且您制造它们,您将构建主要对象,但已创建嵌套....
但是...如果您不保存所有数据,您如何真正测试您的应用程序?...
如果你想直接创建,可以做Fabricate(:model)
祝你好运^^