Codeception grabRecord失败

时间:2017-06-09 09:11:31

标签: yii2 codeception

使用Yii2 2.0.12,php 5.6.24和codeception 2.3.3

在最近的升级中,到目前为止一直运行的一组验收测试失败了。升级是对最新版本的标准作曲家更新。测试场景如下:

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

第二次抓取失败,因为它返回一个空记录。我已将此追溯到“查询内部”。命令的方法'对象并且存在正确形成的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"产生一个空记录。其他人有类似的问题吗?

1 个答案:

答案 0 :(得分:0)

这似乎是由于'清理工作的变化造成的。 2.2.6中的选项。在.yml文件中将此值更改为false似乎可以解决问题,但我不确定原因。