gpt4 book ai didi

php - Codeception:从数据库中清理测试数据

转载 作者:行者123 更新时间:2023-12-04 04:40:30 24 4
gpt4 key购买 nike

我一直在使用 Codeception 编写一些单元测试,并且我的数据库已被测试数据过度运行。在阅读文档时,我发现它说:

Database will be cleaned and populated after each test

有人知道 yaml 文件中是否有任何东西,或者我需要在拆卸方法中放入什么东西吗?

这是我的测试:

use Codeception\Util\Stub;

class peopleAdminTest extends \Codeception\TestCase\Test
{
/**
* @var \CodeGuy
*/
protected $codeGuy;

/**
* @var the model object
*/
private $_model;

/**
* @var some mock data
*/
private $_data = array( "people" => array( "title" => "Unit Test Data" ) );

protected function _before()
{
$this->_model = new People_model();
}

public function test_instantiation()
{
$this->assertInstanceOf( 'people_model', $this->_model );
}

public function test_save()
{
$this->_model->save( $this->_data[ 'people' ] );
$this->codeGuy->seeInDatabase( 'pegisis_people', array( 'title' => 'Unit Test Data' ) );
}
}

最佳答案

unit.suite.yml 中是否添加了 populate: true 和 cleanup: true ?

检查 vendor/codeception/src/Codeception/Module/Db.php。 _after() 或 codeception 中的拆卸方法不会清除 Db。清理在 _before() 中完成,然后执行 sql。

关于php - Codeception:从数据库中清理测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978127/

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