在使用现有应用程序正在使用的遗留模式开发 Rails 应用程序时,如果表在整个模式中对外部 id 列具有 NOT NULL 约束,为了创建/保存模型以进行测试,这些关联需要存在模型,以及它们的关联等。因此,根据需要一次创建一个模型并使用它进行测试并不容易。
就测试而言,如果您使用 FactoryGirl 并且想要创建和保存模型实例以从控制器返回等,这似乎是一个问题,当涉及所有关联依赖项时。另一种选择是模拟,但模拟可能会花费更多时间,并且它不允许您轻松进行集成测试。另一种是使用固定装置,但这些固定装置既费时又脆弱。另一种方法是使用生产数据预先填充测试数据库,但这并不能解决测试中对工厂等/已知数据的需求,Rails 通常希望从测试环境的干净数据库开始。
当你有一个现有的复杂模式时,你会使用什么策略来开发模型、测试等,并且你正在将 Rails 应用程序连接到 - 不仅用于读取数据,还用于写入现有产品正在使用的现有模式应用?(即“海上重造”问题)