【发布时间】:2020-01-10 13:00:39
【问题描述】:
我正在尝试在 fork of another package 上开发一个实用程序来处理 Laravel 应用程序的数据库架构。
在我的开发中,我想使用测试,因为前一个什么都没有。尽管当我尝试测试该包时,该包完美地集成在带有 Laravel 6.X 的应用程序中,但它失败了
<?php
namespace Abkrim\DbSchema\Tests;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use PHPUnit\Framework\TestCase;
use Faker\Factory as Faker;
class DbSchemaTest extends TestCase
{
/** @test */
function it_can_access_the_database()
{
$faker = Faker::create();
$user = DB::table('users')->insert([
'email' => $faker->unique()->email,
'name' => $faker->unique()->name,
'password' => $faker->password(10),
'rememberToken' => $faker->md5
]);
}
}
如果尝试运行测试
vendor/bin/phpunit --filter DbSchemaTest
1) Abkrim\DbSchema\Tests\DbSchemaTest::it_can_access_the_database
RuntimeException: A facade root has not been set.
/home/abkrim/Sites/db-schema/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:236
/home/abkrim/Sites/db-schema/tests/DbSchemaTest.php:17
【问题讨论】:
-
请尝试:
$user = \DB::table('users') -
嗨。用
$user = \DB::table('users')->insert([得到Error: Class 'DB' not found
标签: php testing laravel-5 phpunit