Время выполнения тестового запроса в laravel

Как проверить в laravel / phpunit, сколько времени потребовалось для выполнения запроса?

Возможно ли, чтобы это не зависело от чего-то другого?

5

Решение

Самый старый способ — лучший

$start = microtime(true);
// Execute the query
$time = microtime(true) - $start;
10

Другие решения

С Laravel 5.2 listen изменился только на один аргумент:

\DB::listen(function ($query) {
// $query->sql
// $query->bindings
// $query->time
});

Docs: https://laravel.com/docs/5.2/database

2

Вы могли бы listen чтобы выполнить запрос, как это и записать результат в storage/logs/laravel.log,

\DB::listen(function ($sql, $bindings, $time) {
\Log::info($sql, $bindings, $time);
});

Вы могли бы просто использовать $time только, но я вошел $sql, $bindings, $time для завершения.

Вы можете положить это в свой AppServiceProvider,

ОБНОВИТЬ:

В версии Laravel> 5.5 этот подход задокументирован в документе как прослушивание событий запроса 😉

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector