ошибка модуля codeception db

Я пытаюсь создать функциональный тест в codeception, где я могу проверить, была ли заполнена таблица базы данных, вот тест:

<?php 
 $I = new FunctionalTester($scenario);
 $I->am('A guest');
 $I->wantTo('Sign up for an account');

 $I->amOnPage('auth/register');
 $I->fillField('username', 'testuser');
 $I->fillField('first_name', 'test_name');
 $I->fillField('last_name', 'test_last');
 $I->fillField('email', '[email protected]');
 $I->fillField('password', 'test');
 $I->click('Sign up!');

 $I->seeInDatabase('users', ['username' => 'testuser', 'first_name' => 'test_name', 'last_name' => 'test_last', 'email' => '[email protected]', 'slug' => 'testuser']);

Вот файл yaml:

class_name: FunctionalTester
modules:
    enabled: [Filesystem, FunctionalHelper, Db, PhpBrowser]
    config:
      Db:
         dsn: 'mysql:host=localhost;dbname='db''
         user: 'root'
         password: 'pass!'
         dump: 'tests/_data/dump.sql'
         populate: true
         cleanup: false
      PhpBrowser:
        url: 'http://localhost:8000'

Я получаю сообщение об ошибке:

   Couldn't see in database "users",    {"username":"testuser","first_name":"test_name","last_name":"test_last","email":"[email protected]","slug":"testuser"}:
No matching records found
Failed asserting that '0' is greater than 0.

однако, когда я заполняю форму в браузере, код работает, и пользователь регистрируется


person Rodrigo Lessa    schedule 30.03.2015    source источник


Ответы (1)


Вы должны попробовать использовать модуль Laravel4/Laravel5 (вы не упомянули версию Laravel), а затем использовать seeRecord метод. У меня точно такая же проблема с grabFromDatabase - она ​​не работает, но когда я использую grabRecord из модуля Laravel, она работает нормально.

person Marcin Nabiałek    schedule 30.03.2015