Ser*_*eim 2 python testing django unit-testing django-fixtures
我正在尝试用Django进行测试驱动开发.我的问题是我需要在运行测试之前在数据库中添加一些东西,例如许多用户,部门和他们的权限.我尝试使用fixture来做到这一点,但我发现整个过程非常不直观(我也发现当我删除并重新同步我的数据库时,我的用户设备被破坏,因为权限仅通过id引用)!
我已经搜索了这个预测试数据库初始化的其他解决方案,但我只能找到在TestCase类的setUp方法中执行初始化的非常简单的情况.当你有一个具有不同用户和权限的应用程序需要测试时,我真的不能使用这些方法.
在开始大型应用程序的测试之前,您能告诉我如何填充数据库吗?除了fixtures和setUp类之外还有更好的方法吗?
示范工厂(等工具factory_boy或model_mommy)是一个更好的选择.
根据Carl Mayer 关于"Testing and Django" 的幻灯片,灯具是:
最好使用模型工厂,为什么?
就个人而言,我几乎在每个django项目中都使用factory_boy进行测试.值得一试,看一看.
另见,见: