unit-testing - 使用 PHPUnit 进行测试时如何设置 Doctrine2 夹具?

标签 unit-testing doctrine-orm symfony

我正在尝试开始使用 Symfony2,并一直在尝试为我的应用程序的模型层设置自动化测试。 Symfony2 书讨论了 Controller 的单元测试,但我找不到很多模型测试的示例。

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

根据 sznapka.pl 文章,我有一个实际运行的测试,没有错误,但尽管创建了测试模式,但固定装置未加载。我不明白为什么,甚至不明白调试这个的方法。

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

最佳答案

是的,DoctrineFixtures 是一个不错的选择。

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

要测试 Controller :加载原则夹具并使用 doctrine transactions因此,每个测试用例之前数据库的状态都是相同的,在 setUp() 中开始事务并在 tearDow() 中回滚。 (如果您的 Controller 也使用事务,我还没有找到好的解决方案)。

对于灯具错误,如果您没有任何错误并且您的灯具未加载,则可能您错过了命名约定。您能给我们看一些代码吗?

关于unit-testing - 使用 PHPUnit 进行测试时如何设置 Doctrine2 夹具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626318/

相关文章:

c# - 对 Autofac 模块进行单元测试以达到 100% 的代码覆盖率

c# - 是否可以将基于接口(interface)的模拟转换为对象?

Symfony2/Doctrine2-空间 : Class 'Contains' is not defined

Symfony2 : Using group_by option in an entity field

symfony - doctrine2 按带有 ids 的数组排序

php - Symfony2 - 在哪里可以找到服务构造函数可能的参数列表?

Angular 5 测试 - 全局配置测试平台

c# - TDD 新手 : Are there sample applications with tests to show how to do TDD?

symfony - 如何修复 symfony2.3 中的 twig 扩展弃用问题

php - Symfony2 中的条件关系