如何从phpunit test setUp运行laravel数据库播种器?

如何从phpunit test setUp运行laravel数据库播种器?,第1张

概述我试图在一些phpunit teast案例中的每个测试之前重新创建数据库.我正在使用laravel 5.3.这是TestCase: class CourseTypesTest extends TestCase{ public function setUp() { parent::setUp(); Artisan::call('migrate'); 我试图在一些PHPunit teast案例中的每个测试之前重新创建数据库.我正在使用laravel 5.3.这是TestCase:
class CourseTypestest extends TestCase{    public function setUp()    {        parent::setUp();        Artisan::call('migrate');        Artisan::call('db:seed',['--class' => 'TestDatabaseSeeder ','--database' => 'testing']);    }    /**     * A basic functional test example.     *     * @return voID     */    public function test_List_course_types()    {        $httpRequest = $this->Json('GET','/API/course-types');        $httpRequest->assertResponSEOk();        $httpRequest->seeJson();    }    public function tearDown()    {        Artisan::call('migrate:@R_404_5990@');        parent::tearDown();    }}

运行PHPunit失败,错误:

$PHPunit PHPUnit 5.7.5 by Sebastian Bergmann and contributors.

E 1 /
1 (100%)

Time: 2.19 seconds,Memory: 12.00MB

There was 1 error:

1) CourseTypestest::test_List_course_types ReflectionException: Class
TestDatabaseSeeder does not exist

D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Container\Container.PHP:749
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Container\Container.PHP:644
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Foundation\Application.PHP:709
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Database\Console\Seeds\SeedCommand.PHP:74
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Database\Console\Seeds\SeedCommand.PHP:63
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.PHP:2292
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Database\Console\Seeds\SeedCommand.PHP:64
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Container\Container.PHP:508
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Console\Command.PHP:169
D:\www\learn-laravel\my-folder-API\vendor\symfony\console\Command\Command.PHP:254
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Console\Command.PHP:155
D:\www\learn-laravel\my-folder-API\vendor\symfony\console\Application.PHP:821
D:\www\learn-laravel\my-folder-API\vendor\symfony\console\Application.PHP:187
D:\www\learn-laravel\my-folder-API\vendor\symfony\console\Application.PHP:118
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Console\Application.PHP:107
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.PHP:218
D:\www\learn-laravel\my-folder-API\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.PHP:237
D:\www\learn-laravel\my-folder-API\tests\rest\CourseTypestest.PHP:17

ERRORS! Tests: 1,Assertions: 0,Errors: 1.

但这个类存在:

我将你的代码复制到我的测试项目中,我花了大约5分钟才弄明白.

问题是–class参数中的空格.如果你仔细看看数组’–class’=> ‘TestDatabaseSeeder’到底有空间……这就是问题所在.将其更改为“–class”=> ‘TestDatabaseSeeder’,它应该可以正常工作.

总结

以上是内存溢出为你收集整理的如何从phpunit test setUp运行laravel数据库播种器?全部内容,希望文章能够帮你解决如何从phpunit test setUp运行laravel数据库播种器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存