2017-01-02 17 views
0

У меня есть синтаксическая ошибка в моем тесте. Например:Как показать точную строку кода в Lumen, где произошла ошибка?

/** @test **/ 
public function show_should_return_a_valid_book() 
{ 
    $this 
     ->get('/books/1') 
     ->seeStatusCode(200) 
     ->seeJson([ 
      'id' => 1, 
      'title' => 'War of the Worlds', 
      'description' => 'A science fiction masterpiece about martians invading London', 
      'author' => 'H. G. Wells' 
     ]); 
    $data = json_decode($this->response->getContent(), true); 
    $this-> assertArrayHasKey('created_at'), $data); 
    $this-> assertArrayHasKey('updated_at'), $data); 
} 

Здесь я забыл разместить левые круглые скобки в последних двух строках.

Если я сделаю это в Laravel, я получаю сообщение:

C:\phpcode\shopcart>phpunit PHP Parse error: syntax error, unexpected ',' in C:\phpcode\shopcart\tests\Test Test.php on line 33

Parse error: syntax error, unexpected ',' in C:\phpcode\shopcart\tests\TestTest. php on line 33

который довольно хорошо, потому что я могу видеть, где exatly произошла ошибка.

Но когда дело доходит до Lumen все, что я вижу:

C:\phpcode\lumenbook>phpunit

[Symfony\Component\Debug\Exception\FatalThrowableError] Parse error: syntax error, unexpected ','

Как я могу получить что-то более многословный в Lumen?

+0

Вы попробовали 'phpunit -vvv'? –

+0

Да и безрезультатно. Чтение документации phpunit - это первое, что я пробовал. –

ответ

0

Я редактировал одну строку в

%projname%\symphony\debug\Exception\FatalErrorException.php

// $message = 'Parse error: '.$e->getMessage(); 

стал

$message = 'Parse error; ' .$e->getMessage() .' in file ' .$e->getFile() 
.'at line ' .$e->getLine(); 

Не знаю, является ли это элегантное решение или нет, но он работает в настоящее время.

+0

Понял. Вышеприведенное решение может быть полезно, если мне нужно увидеть проблему в командной строке. Самый простой способ - просто посмотреть, что именно произошло в хранилище \ logs \ lumen.log –

 Смежные вопросы

  • Нет связанных вопросов^_^