Когда я выполняю попытку/поймать на DB::Connection()->getPdo();
, я получаю сообщение об ошибке Корень фасада не был установлен. Я полагаю, что это происходило и с фасадами Schema
до того, как я попытался добавить попытку/поймать. Каталог с тестами, конечно, находится за пределами каталога с приложением, и у меня есть ощущение, что это как-то связано с этим, но мне не удалось это выяснить.
Вот тестовый класс, в котором это происходит:
<?php
namespace Tests\Models;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
use App\Models\Discussion;
use App\User;
use Business\Database\Model;
use Illuminate\Database\Schema\Blueprint;
use Tests\TestCase;
class DiscussionModelTest extends TestCase
{
/**
* Create the tables this model needs for testing.
*/
public static function setUpBeforeClass()
{
try {
DB::connection()->getPdo();
} catch(\Exception $e) {
die($e->getMessage());
}
Schema::create('discussions', function (Blueprint $table) {
$table->integer('id');
$table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users');
});
Schema::create('users', function (Blueprint $table) {
$table->integer('id');
});
}
}
Illuminate\Foundation\Testing\DatabaseTransactions
, чтобы убедиться, что что-то отменяется после завершения модульного теста. - person amphetamachine   schedule 18.12.2018