Использование Laravel`Log::spy` с каналамиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование Laravel`Log::spy` с каналами

Сообщение Anonymous »

У меня есть FormRequest, в котором регистрируются сведения об ошибках проверки:

Код: Выделить всё

protected function failedValidation(Validator $validator)
{
Log::channel('logistics')->info('Validation failed. Submitted serials:', [
'contents' => $this->input('contents'),
]);
...
Я хочу проверить, правильно ли это регистрируется, поэтому в тесте я делаю это:

Код: Выделить всё

        Log::spy();
$this->postJson(
'logistics/delivery',
[
'location_id' => $location->uuid,
'contents'    => [
$case1->serial,
],
]
)
->assertUnprocessable();
Log::shouldHaveReceived('info')
->withArgs(function ($message, $context) use($case1) {
$this->assertStringContainsString('Validation failed. Submitted serials:', $message);
$this->assertArrayHasKey('contents', $context);
$this->assertEquals([$case1->serial], $context['contents']);
return true;
});
Это не удается в FormRequest, потому что после того, как его высмеивали с помощью шпиона, Log::channel('logistics') возвращает значение null , я предполагаю, что издевательский фасад Log не содержит каналов, но конечным результатом является то, что он только дает сбой при тестировании; обычно он работает нормально.
Я использую Log::spy с Log::shouldHaveReceived вместо Log::shouldReceive, потому что там может быть могут быть и другие вызовы журналирования во время тестового запуска, и они создают двусмысленность, которой можно избежать с помощью spy.
Я также пробовал специально шпионить за каналом, используя Log::channel( 'логистика')->spy();, но этого не существует.
Если я удалю использование канала() как в коде, так и в протестируйте, все работает нормально.
Как это проверить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... h-channels
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование проверки на Spy Object
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • «java.io.FileNotFoundException: Velocity.log», добавленный в файл eclipse .log
    Anonymous » » в форуме JAVA
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Log.d не показывает log.d в Logcat Android Studio
    Anonymous » » в форуме JAVA
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Log.d не показывает log.d в Logcat Android Studio
    Anonymous » » в форуме Android
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Как я могу переписать комплексное число z = 5^i в стандартную форму z=cos(log(5)) + i * sin(log(5)) с помощью SymPy?
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»