Ujian pakej Laravel: menjalankan migrasi rangka kerja apabila menggunakan RefreshDatabase.
P粉955063662
P粉955063662 2023-07-30 13:20:53
0
1
320
<p>Saya mempunyai pakej Laravel yang menambahkan medan pada jadual pengguna lalai (yang disertakan dengan Laravel) menggunakan migrasi: </p> <pre class="brush:php;toolbar:false;">public function up() : batal { Skema::jadual('pengguna', fungsi (Blueprint $table) { $table->enum('role', ['super-admin', 'admin', 'tipster', 'user'])->default('user'); }); } </pra> <p>Apabila saya ingin menjalankan ujian unit saya, ini menyebabkan ujian saya gagal kerana dalam pakej saya, jadual pengguna lalai tidak wujud. </p><p>Adakah terdapat cara untuk menjalankan migrasi yang disediakan oleh rangka kerja apabila menggunakan sifat ini? Saya telah menggunakan penyelesaian untuk membetulkannya, tetapi saya benar-benar tidak mahu mengubah suai kod hanya untuk ujian unit. </p><p><br /></p> <pre class="brush:php;toolbar:false;">public function up() : batal { jika (App::runningUnitTests()) { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('nama'); $table->string('email')->unique(); $table->enum('role', ['super-admin', 'admin', 'tipster', 'user'])->default('user'); $table->timestamp('email_verified_at')->nullable(); $table->string('kata laluan'); $table->ingatToken(); $table->cap masa(); }); } lain { Skema::jadual('pengguna', fungsi (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;"> </pra> <p><br /></p>
P粉955063662
P粉955063662

membalas semua(1)
P粉030479054

Ternyata pembangun Orchestra Testbench turut mengambil kira perkara ini. Anda boleh memanggil kaedah untuk memasukkan fail migrasi yang disediakan oleh Laravel.

/**
 * The migrations to run prior to testing.
 *
 * @return void
 */
protected function defineDatabaseMigrations() : void
{
    $this->loadLaravelMigrations();
} 
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!