2012-09-17 14 views
0

我的团队和我有一个大型网络应用程序,我们正在使用Symfony框架,其中包括Doctrine2用于数据访问。在我们刚刚开始的时候,我们对后面关于entity关系的回归测试感到疑惑。如何在Doctrine2实体和映射中自动进行关系测试?

我们有大量的,我们已经自动地从数据库模式生成的,现在都在检查各一的relationship mapping领域专门整理的过程主义实体。一旦映射完成(使用文档块注释),我们通过简单的脚本确认实体正在执行正确的数据访问,确保映射的最佳方式以及实体的功能未来不会中断。

我们正在编写单元测试的所有实体作为独立单元,嘲讽所需要的依赖,但这并不一定保护我们免受注解注释进行编辑或模式变更,打破当前的实体关系。

有什么想法?这里的任何人都有同样的问题?

回答

1

我们已经为每个顶级实体创建了我们所说的功能测试,以测试子实体与该实体之间的关系。基本上,顶层实体被实例化,并且模拟数据被用来填充它,然后所有的实体依赖关系被添加,它们本身被填充模拟数据。这一切都是在一次操作中坚持到数据库。然后从数据库中读回该实体,并针对原始数据进行测试。这比这更复杂一点(尤其是平等测试),但是如果任何关系映射有变化或被窃听,这个测试立即失败并给我们一个调查的时间。

+0

我正在关注Symfony的文档:http://symfony.com/doc/current/cookbook/testing/doctrine.html用于功能测试,但在插入测试时遇到问题。选择工作正常。建议? –