复制生产数据以测试数据库以进行 PHPUnit 测试的有效方法
Posted
技术标签:
【中文标题】复制生产数据以测试数据库以进行 PHPUnit 测试的有效方法【英文标题】:Efficient way to copy over production data to test DB for PHPUnit tests 【发布时间】:2016-03-24 07:36:32 【问题描述】:在运行单元测试之前,测试数据库需要复制所有相关数据。在我需要运行的这个特定测试中,数据分布在 12 个表中,测试中的调用方法将依赖这些表。
运行测试时,我需要确保在测试数据库中填充这些测试用例的相同值。
是否有一种精简有效的方法来执行此操作,还是我必须在运行测试之前手动复制每个表中的每一行?
我正在使用 Yii 1.1 和 phpUnit 4.6。
【问题讨论】:
可以使用迁移 【参考方案1】:您可以轻松定义适当的迁移并在需要时应用它们。
您可以使用向上迁移和向下迁移来准备所有测试所需的数据库
【讨论】:
以上是关于复制生产数据以测试数据库以进行 PHPUnit 测试的有效方法的主要内容,如果未能解决你的问题,请参考以下文章
配置 Symfony 5.3 以使用专用的 MongoDB 数据库进行测试
在 phpunit 测试中覆盖 symfony TokenAuthenticator