gpt4 book ai didi

symfony1 - Symfony - 删除并重新加载每个测试的所有数据库记录

转载 作者:行者123 更新时间:2023-12-04 06:56:45 26 4
gpt4 key购买 nike

来自 Jobeet tutorial在 Symfony 网站中提供,我发现每次运行单元测试时都可以使用以下脚本加载设备数据:

Doctrine_Core::loadData(sfConfig::get('sf_test_dir').'/fixtures');

但是,我想 删除 重新加载 每次运行单元测试时,数据库中的所有记录。目前,我正在手动执行此操作(在每次测试之前运行 symfony police:build --all)。有人可以为我提供正确的方法吗?

最佳答案

我最后在我的 test/bootstrap/unit.php 文件中使用以下内容:

$doctrine = new sfDoctrineDropDbTask($configuration->getEventDispatcher(), new sfAnsiColorFormatter());
$doctrine->run(array(), array("--no-confirmation","--env=test"));

$doctrine = new sfDoctrineBuildDbTask($configuration->getEventDispatcher(), new sfAnsiColorFormatter());
$doctrine->run(array(), array("--env=test"));

$doctrine = new sfDoctrineInsertSqlTask($configuration->getEventDispatcher(), new sfAnsiColorFormatter());
$doctrine->run(array(), array("--env=test"));

在加载设备之前。这对我来说很好用,但如果你有一个大的架构和大量的设备,它会变慢。在 the Web Mozarts blog 上有一些提示关于编写有效的测试,还有一个关于使用 sqlite 内存数据库来加速它的提示。

关于symfony1 - Symfony - 删除并重新加载每个测试的所有数据库记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com