无法在真实浏览器

时间:2015-07-22 00:11:26

标签: php phalcon codeception

我在使用代码编写简单测试时遇到了一些麻烦。

上传excel文件并在uploade之后检查excel文件上的数据是否在数据库上可用是一个简单的过程。我的测试代码:

public function do_carga_vendedores(BTester $I)
    {
        $I->amOnPage('/admin/carga/vendedores');
        $I->attachFile('templateupload', 'carga_vendedores.xlsx');
        $I->click('Enviar');
        $I->see('Cadastro feito com sucesso!');
        $I->seeInDatabase('usuario', [
                'cpf' => '332.895.032-08',
                'nome' => 'Test1'
            ]);

        $I->seeInDatabase('usuario', [
                'cpf' => '776.676.558-63',
                'nome' => 'Test2'
            ]);
    }
}

生成:

Step  I see "Cadastro feito com sucesso!"
Fail  Failed asserting that   /admin/carga/doRealizarCargaVendedor

检查输出文件时显示:

Fatal error: Call to a member function getType() on a non-object in /var/www/apps/shared/models/BaseModel.php on line 82

第82行代码:

switch ($message->getType()) {

我在$message变量上完成了一个var_dump,结果是:

object(Phalcon\Mvc\Model\Message)[148]
  protected '_type' => string 'PresenceOf' (length=10)
  protected '_message' => string 'nome is required' (length=16)
  protected '_field' => string 'nome' (length=4)
  protected '_model' => null

可以找到BaseModel.php的完整代码here

但是如果我使用chrome上传文件,则问题不可重现。 我不知道这是否是phpbrowser问题,或者我的代码是否有缺陷。

OBS:框架:Phalcon 2.0.5 / Codeception 2.1.1

0 个答案:

没有答案