Laravel包测试:在使用RefreshDatabase时运行框架迁移。
P粉955063662
P粉955063662 2023-07-30 13:20:53
0
1
237
<p>我有一个 Laravel 包,使用迁移向默认的用户表(随 Laravel 一起提供的)添加了一个字段:</p> <pre class="brush:php;toolbar:false;">public function up() : void { Schema::table('users', function (Blueprint $table) { $table-&gt;enum('role', ['super-admin', 'admin', 'tipster', 'user'])-&gt;default('user'); }); } </pre> <p>当我想要运行我的单元测试时,这会导致我的测试失败,因为在我的包中,默认的用户表不存在。</p><p>在使用这个 trait 时,是否有一种方法可以运行框架提供的迁移?我已经使用了一个解决方法来修复这个问题,但我真的不希望仅仅为了单元测试而修改代码。</p><p><br /></p> <pre class="brush:php;toolbar:false;">public function up() : void { if (App::runningUnitTests()) { Schema::create('users', function (Blueprint $table) { $table-&gt;id(); $table-&gt;string('name'); $table-&gt;string('email')-&gt;unique(); $table-&gt;enum('role', ['super-admin', 'admin', 'tipster', 'user'])-&gt;default('user'); $table-&gt;timestamp('email_verified_at')-&gt;nullable(); $table-&gt;string('password'); $table-&gt;rememberToken(); $table-&gt;timestamps(); }); } else { Schema::table('users', function (Blueprint $table) { $table-&gt;enum('role', ['super-admin', 'admin', 'tipster', 'user'])-&gt;default('user'); }); } }<span style="font-family:'sans serif, tahoma, verdana, helvetica';"><span style="white-space:nowrap;"> </span></span></pre> <p><br /></p>
P粉955063662
P粉955063662

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!