如何测试对象是否在数据库Symfony/PHPUnit中持久化

如何测试对象是否在数据库Symfony/PHPUnit中持久化,php,symfony,phpunit,symfony-2.8,Php,Symfony,Phpunit,Symfony 2.8,我正在使用symfony2.8和PHPUnit 我有一个函数,可以持久化并刷新对象“invoice” 我想创建一个单元测试,它断言这个invoice对象被持久化并在我的数据库中创建 不幸的是,上述函数的代码大约有200行,所以我不会发布它 你知道怎么做吗 谢谢大家! 不管你怎么想,你真的不需要实际测试数据库是否有问题,实体管理器不太可能坏掉,这就是你真正要测试的 但是,您应该测试代码是否正常工作,至少尝试将数据正确地放入数据库中,为此,请模拟实体管理器和存储库 Symfony在他们的文档中有一个

我正在使用symfony2.8和PHPUnit

我有一个函数,可以持久化并刷新对象“invoice”

我想创建一个单元测试,它断言这个invoice对象被持久化并在我的数据库中创建

不幸的是,上述函数的代码大约有200行,所以我不会发布它

你知道怎么做吗


谢谢大家!

不管你怎么想,你真的不需要实际测试数据库是否有问题,实体管理器不太可能坏掉,这就是你真正要测试的

但是,您应该测试代码是否正常工作,至少尝试将数据正确地放入数据库中,为此,请模拟实体管理器和存储库

Symfony在他们的文档中有一个非常史诗般的指南-


希望这有帮助

你为什么要做这样的事?实体管理器已经过很好的测试。模拟并测试持久化和刷新的调用。“…所述函数的代码大约有200行长…”您真的应该重构it@xmike我知道,但我刚刚作为一名实习生来到这里,我认为在工作三天后建议这样做不是一个好主意:如果我遗漏了一些明显的东西,请担心,但你能不能a)创建一个临时的空数据库(可能使用SQLite)b)保存发票c)查询数据库以确保记录存在?