如何在使用PHPUnit进行测试时设置Doctrine2灯具?

con*_*bis 28 unit-testing symfony doctrine-orm

我正在尝试使用Symfony2,并一直在尝试为我的应用程序的模型层设置自动化测试.Symfony2书谈到了控制器的单元测试,但我找不到很多模型测试的例子.

我希望在每次测试运行之前都有一个干净的数据集,并找到这些文章:

根据sznapka.pl文章,我有一个实际运行的测试没有错误,但是虽然创建了测试模式,但是没有加载.我看不出为什么,甚至是一种调试方法.

背景:我之前使用的是CakePHP,其中夹具的装载很大程度上是自动处理的,也许我对Symfony/Doctrine有错误的方法?

jul*_*bou 6

是DoctrineFixtures是一个不错的选择.

要测试模型:您实际上不需要在数据库中加载fixture,您应该使用所需的数据创建对象(通过使用setter注入它).

要测试控制器:加载doctrine fixture并使用doctrine事务,这样在每个测试用例之前,数据库的状态是相同的,开始事务处理setUp()和回滚tearDow().(如果您的控制器也使用了交易,我还没有找到一个好的解决方案).

对于灯具错误,如果您没有任何错误并且未加载灯具可能您错过了命名约定.你能告诉我们一些代码吗?