Laravel パッケージのテスト: RefreshDatabase 使用時のフレームワーク移行の実行。
P粉955063662
P粉955063662 2023-07-30 13:20:53
0
1
319
<p>移行を使用してデフォルトのユーザーテーブル(Laravelに付属)にフィールドを追加したLaravelパッケージがあります。</p> <pre class="brush:php;toolbar:false;">パブリック関数 up() : void { Schema::table('users', function (Blueprint $table) { $table->enum('role', ['super-admin', 'admin', 'tipster', 'user'])->default('user'); }); } </pre> <p>単体テストを実行しようとすると、パッケージにデフォルトのユーザーテーブルが存在しないため、テストが失敗します。 </p><p>この特性を使用する場合、フレームワークによって提供される移行を実行する方法はありますか?この問題を解決するために回避策を使用しましたが、単体テストのためだけにコードを変更したくありません。 </p>


<pre class="brush:php;toolbar:false;">パブリック関数 up() : void { if (App::runningUnitTests()) { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->enum('role', ['super-admin', 'admin', 'tipster', 'user'])->default('user'); $table->timestamp('email_verified_at')->nullable(); $table->string('パスワード'); $table->rememberToken(); $table->timestamps(); }); } それ以外 { Schema::table('users', function (Blueprint $table) { $table->enum('role', ['super-admin', 'admin', 'tipster', 'user'])->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

全員に返信(1)
P粉030479054

Orchestrator Testbench の開発者もこれを考慮していたことが判明しました。メソッドを呼び出して、Laravel が提供する移行ファイルを含めることができます。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!