2013-02-07 1 views
0

Я пишу некоторые модульные тесты и вам нужно вызвать некоторые команды в модульном тесте, чтобы создать тестовую базу данных. Однако, когда я вызываю команду, она сбрасывает уведомления на экран. Есть ли способ отключить это? Я попытался выполнить -quiet, но он не подавляет уведомления.отключить вывод команды symfony2

$this->runConsole("doctrine:mongodb:schema:create", array("-q"=> null,"--env" => "test"));  

....

protected function runConsole($command, Array $options = array()) 
{ 
    $options = array_merge($options, array('command' => $command)); 

    return $this->_application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); 
} 

замечает, что я получаю:

[2013-02-07 16:24:43] doctrine.INFO: MongoDB query: {"deleteIndexes":true,"db":"xxxxxx","collection":"xxxxxx} [] [] 
[2013-02-07 16:24:43] doctrine.INFO: MongoDB query: {"deleteIndexes":true,"db":"xxxxxx","collection":"xxxxxx"} [] [] 
[2013-02-07 16:24:43] doctrine.INFO: MongoDB query: {"deleteIndexes":true,"db":"xxxxxx","collection":"xxxxxx"} [] [] 

ответ

0

CommandTester Используйте, чтобы проверить вашу команду. Вы можете прочитать об этом здесь:

http://symfony.com/doc/current/components/console/introduction.html#testing-commands

+0

извините, я не был ясен. Мне не нужно проверять команду. Я пишу тесты, которые вызывают команды для загрузки некоторых данных. – daSn0wie

+0

о, хорошо. Но в любом случае - вы не должны использовать свою базу данных (или любой другой источник данных) в своих модульных тестах! Если вы используете базу данных, это не более чем единичный тест. Я советую вам заглушить соответствующий «поставщик данных», чтобы получить нужные вам данные. Если вы показываете метод, который вы хотите проверить, возможно, я могу сказать больше – Cyprian

+0

, это функциональный тест для моего контроллера. Я хочу убедиться, что контроллер правильно хранит данные. есть ли другой способ проверить это? – daSn0wie

0

Я добавил config_test.yml в приложении/каталоге конфигурации и добавил эти строки (которые копируются из моего config_dev.yml):

monolog: 
    handlers: 
     main: 
      type: stream 
      path: "%kernel.logs_dir%/%kernel.environment%.log" 
      level: debug 
     firephp: 
      type: firephp 
      level: info