【发布时间】:2020-05-11 18:56:56
【问题描述】:
在单元测试中使用Log 会导致奇怪的错误
版本: Laravel 框架 6.12.0 php 7.4 phpunit 8.5.2
<?php
namespace Tests\Unit;
use Illuminate\Support\Facades\Log;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
Log::info('hellowli');
$this->assertTrue(true);
}
}
我跑:
$ php7.4 vendor/bin/phpunit tests/Unit/ExampleTest.php
$ php7.4 vendor/bin/phpunit tests/Unit/ExampleTest.php
PHPUnit 8.5.2 by Sebastian Bergmann and contributors.
E 1 / 1 (100%)
Time: 49 ms, Memory: 6.00 MB
There was 1 error:
1) Tests\Unit\ExampleTest::testBasicTest
RuntimeException: A facade root has not been set.
/home/toskan/IdeaProjects/apartments/laravel/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:258
/home/toskan/IdeaProjects/apartments/laravel/tests/Unit/ExampleTest.php:17
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
【问题讨论】: