php - 对于 Symfony2 功能测试,验证数据库内容的最佳实践是什么?

标签 php symfony phpunit automated-tests functional-testing

我看到有很多方法可以将夹具数据加载到数据库中。但是在功能测试之后,确认写入数据库的内容正确的最佳/标准方法是什么?

phpunit 包有一个完整的部分,您可以在其中加载数据集,然后使用 assertTablesEqual() 之类的东西将表的内容与预期内容进行比较。但这在 Symfony2 下似乎不可用,而且我找不到任何其他标准方法。

其他人是如何解决这个问题的?

最佳答案

Symfony2 默认使用 doctrine ORM,或者你可以设置其他数据库 gestion(例如 MongoDB)。检查 app\config\parameters.php 文件以设置数据库连接,检查 app\config\config.php 以检查/设置 gestion 类型。使用 ORM,您不需要像 phpunit 包那样检查很多东西,因为它已经集成到协议(protocol)中等等。 Check here for more details .

如果要加载datafixtures ,您可以导出您的实际数据库以保存它,或者创建一个仅用于测试的新数据库,并在 app\config\parameters.php 中通过创建一个像这样的新数据库来切换数据库 app\config\parameters_dev.php。在这种情况下,该网站和您的本地版本不会使用相同的数据库。您还可以编辑 app\config\parameters.php 并阻止使用 .gitgnore 文件上传它。

关于php - 对于 Symfony2 功能测试,验证数据库内容的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33575377/

相关文章:

php - 如何用 PHPUnit 比较相似的 XML?

php - Symfony 测试 - ClockMock/DateTime

php - stub 单个函数 - 不涉及类 - php

php - 计算与分支机构有业务往来的 worker

php - 如何在 PHP 中定义方法链

symfony - 如何在 SonataAdminBundle 中显示顶部和侧面菜单?

Symfony 安全包 : how to stay on the same page after logout?

php - Laravel Eloquent Sum of relationship 的列

php - 如何使用密码从 MS Access 数据库中检索网页数据

symfony - 向经过身份验证的 oAuth2 用户添加范围