与FactoryBot

时间:2018-02-07 15:41:12

标签: ruby-on-rails rspec factory-bot

我正在开发一个供内部使用的应用程序,我正在使用rspec和factorybot进行测试。

有6个表与用户相关,我在构建工厂时遇到了问题

District  
Building  
Role  
DistrictRole (district_id, role_id, user_id)  
BuildingRole (building_id, role_id, user_id)  
User

用户必须至少在一个区和一个建筑物中才有效 DistrictRole必须具有有效的district_id,role_id和user_id
BuildingRole必须具有有效的building_id,role_id和user_id

我在网上找不到任何解释如何进行关联以及是否构建或创建的内容。

1 个答案:

答案 0 :(得分:0)

您是否查看了factory_bot documentation关联?

  

用户必须至少在一个区和一个建筑物中才有效

     

DistrictRole必须具有有效的district_id,role_id和user_id

     

BuildingRole必须具有有效的building_id,role_id和user_id

这是一个鸡和蛋的问题,这是第一个?用户或区域&建筑?

通常,可以从关联的belongs_to端验证关联存在。走向需要模型的相反方向具有X相关记录可以是代码气味,使得构建和维护(但并非不可能)。如果您有这些类型的数据结构要求,我建议您将它们交给模型之外。