【问题标题】:Codeception grabRecord failingCodeception grabRecord 失败
【发布时间】:2017-06-21 18:22:16
【问题描述】:

使用 Yii2 2.0.12、php 5.6.24 和 codeception 2.3.3

在最近的一次升级中,一组迄今为止一直有效的验收测试失败了。升级是对最新版本的标准作曲家更新。测试场景如下:

  • 测试通过表单添加记录
  • 获取新记录进行验证
  • 测试通过表单添加第二条记录
  • 获取新记录进行验证

第二次抓取失败,因为它返回一个空记录。我已经将此追溯到“Command”对象的“queryInternal”方法,并且有一个格式正确的 PDO 语句,它执行正确的查询但返回一个空结果。我尝试在 PDO->execute() 之前中断并在 MySQL 中执行查询。查询有效,但 PDO 语句失败。

Cept 测试脚本的代码是:

$I->wantTo('Do successive grabs');

$I->amOnPage('index.php?r=portfolio%2Fcreate');
$I->see('Create Portfolio');
$I->fillField('Name','Test Portfolio 1');
$I->click('Create');
$r = $I->grabRecord('app\models\Portfolio' , ['name' => 'Test Portfolio 1']);


$I->amOnPage('index.php?r=portfolio%2Fcreate');
$I->see('Create Portfolio');
$I->fillField('Name','Test Portfolio 2');
$I->click('Create');
$r = $I->grabRecord('app\models\Portfolio' , ['name' => 'Test Portfolio 2']);

第二个“grabRecord”产生一个空记录。其他人有类似的问题吗?

【问题讨论】:

标签: yii2 codeception


【解决方案1】:

这似乎是由 2.2.6 中“清理”选项的更改引起的。在 .yml 文件中将此值更改为 false 似乎可以解决问题,尽管我不确定为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 2014-06-20
    • 2015-12-29
    • 2019-05-26
    相关资源
    最近更新 更多