首页 > 解决方案 > 如何在 Test:suite 之前调用工匠命令

问题描述

有没有办法在我的整个测试套件之前调用工匠命令?安装 Cartalyst 扩展需要时间,所以我不想在每次测试之前都这样做,但我假设我无法从像 setUpBeforeClass 这样的静态方法调用外观,我收到此错误

RuntimeException:尚未设置外观根。在 /Users/lance/Desktop/FastLMS/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:218

<?php

namespace Tests;

use Illuminate\Contracts\Console\Kernel;
use Illuminate\Support\Facades\Artisan;

class TestCase extends \Illuminate\Foundation\Testing\TestCase
{
    public static function setUpBeforeClass()
    {
        parent::setUpBeforeClass();

        Artisan::call('migrate');
        Artisan::call('extension:install');
        Artisan::call('extension:enable');
    }

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

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

        Hash::setRounds(4);

        return $app;
    }

    public function setUp()
    {
        parent::setUp();

        $this->app['Illuminate\Contracts\Http\Kernel']->disableMiddleware();
    }
}

标签: laravelphpunit

解决方案


推荐阅读