0

我目前正在使用的应用程序有一个问题,我不确定如何继续前进。

为了测试某些模型(报告),我们需要生产级数据——初始设置数据(调查)和用户数据(用户对调查的回答,有时不止一个用户)。初始数据是使用生产环境中的脚本创建的,以将数据加载到应用程序中。在我们的功能测试中,我们需要做同样的事情(或对其进行相当接近的传真),然后伪造一些用户数据(已知答案以测试报告计算和结构)。

我正在努力解决的是如何管理初始数据。随着开发的进行,这些数据可能会发生变化,我宁愿不在多个位置进行管理(用于初始加载的脚本、用于生产更改的迁移、工厂/固定装置以确保加载到测试中的数据反映当前的实时状态等。 )。有没有这方面的最佳实践资源?固定装置是否应该用于脚本的初始加载,然后可以被测试使用?我是否只加载脚本以从我的测试中创建初始数据?我已经读到数据迁移很糟糕,我们正试图避免它们,但是我如何在多开发人员环境中处理我创建的脚本可能不会由执行发布的开发人员执行(capistrano)。

想法?问题、评论、疑虑?

任何帮助,将不胜感激!

4

1 回答 1

0

迁移有点烦人,但是基于模式的数据库需要它们。

如果您不查询这些字段,则可以将列保存为包含许多不同数据的 JSON。

如果您想走得更远,它们是无模式数据库,例如 MongoDB。我自己使用 MongoDB 和 Mongoid gem,它就像 activerecord 一样工作。

于 2013-11-08T01:00:54.997 回答