2013-05-02 1 views
0

Я установил LiipFunctionalTestBundle и попытаюсь использовать его со вчерашнего дня, но у меня есть ошибка, и я не знаю, как ее решить.Symfony2 с ошибкой LiipFunctionalTestBundle, когда я загружаю fixture

Я использую базовую конфигурацию, как описано в документации (config_test):

framework: 
test: ~ 
session: 
    storage_id: session.storage.filesystem 

liip_functional_test: ~ 

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       driver: pdo_sqlite 
       path: %kernel.cache_dir%/test.sql 

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

class AdControllerTest extends WebTestCase 
{ 
    public function testIndex() 
    { 
     $client = static::createClient(); 

     $this->loadFixtures(array()); 

     $this->assertTrue(true); 
    } 
} 

Когда я использую $ this-> loadFixtures (array()); это прекрасно работает, так что я могу начать с пустой базой данных (инициализируюсь с моей схемой) Но когда я заменить его и попытаться использовать прибор у меня есть ошибка, как это:

$this->loadFixtures(array('\Blabla\MyBunble\DataFixtures\ORM\LoadUserData'));

Теперь у меня есть эта ошибка:

Doctrine\DBAL\DBALException: An exception occurred while executing 'PRAGMA table_info(transaction)': 

SQLSTATE[HY000]: General error: 1 near "transaction": syntax error 

Я довольно новый в тестировании, если кто-то использует этот пакет и как советы, я буду благодарен :)

Благодаря

ответ

0

Хорошо, это была глупая ошибка.

Когда я очистил кеш, я увидел реальную ошибку: loadFixtures не смог найти мое устройство из-за неправильного пространства имен.

4

У меня такая же ошибка, и это заставило меня остыть в течение двух часов, единственная информация, связанная с symfony и тестированием, - это вопрос, но мои пространства имен и маршруты, где ОК ... так в чем проблема? Это просто глупо ... TRANSACTION - это ключевое слово SQLite: https://www.sqlite.org/lang_keywords.html Если я удалю кеш-тест, где работает, но когда он вызывает ошибку, чтобы получить информацию о таблице, он сбой из-за имени таблицы.

Я надеюсь, что это будет полезно для любого другого, у кого может быть такая же проблема.

+0

Спасибо, у меня была такая же проблема! – ke20

+0

Для полноты, когда перед лицом с потенциально опасным именем просто добавьте префикс/sufix в имя таблицы. – xPheRe