Почему PHPUnit не видит Laravel фасадов? - PullRequest
0 голосов
/ 26 апреля 2020

У меня проблема с тестированием PHPUnit и Laravel Исключение: класс 'DB' не найден

Мой файл TestCase:

namespace Tests;

use Illuminate\Foundation\Testing\TestCase as BaseTestCase;

abstract class TestCase extends BaseTestCase
{
    use CreatesApplication;
}

Мой Создает файл приложения:

namespace Tests;

use Illuminate\Contracts\Console\Kernel;

trait CreatesApplication
{
    public function createApplication()
    {
        $app = require __DIR__.'/../bootstrap/app.php';

        $app->make(Kernel::class)->bootstrap();

        return $app;
    }
}

Это мой тест:

namespace Tests\Unit;

use App\Services\RepetitionService;
use PHPUnit\Framework\TestCase;

class RepetitionServiceTest extends TestCase
{
   public function testGetNextIteration()
   {
       $repetitionService = new RepetitionService;

       $nextIteration = $repetitionService->getNextIteration(1);
       $this->assertEquals(2, $nextIteration);
   }
}

Метод, который тестируется:

public function getNextIteration(int $lastIteration) : int
    {
        // some example code (method is not real but code below copied from original method)
        \DB::table('cards')->get();
        Config::get('params.repeat_iterations');
        config('params.repeat_iterations');
    }

Рекомендовать: php vendor/phpunit/phpunit/phpunit --configuration phpunit.xml tests/Unit

Версии: laravel 7 PHP 7.4 PHPUnit 9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...