この記事で解決できる悩み
いずみ
こんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴9年)で、資格は13個保有しています。
「Laravelでテストデータの登録を共通化したい」とお考えではありませんか?
結論、Traitを使えばテストデータの登録を共通化できます。
Traitはかなり便利だから大好き(笑)
ということで、本記事ではLaravelでテストデータの登録を共通化する方法を解説します。
すぐ読み終わるので、ぜひ最後まで読んでくださいませ。
目次
【Laravel】テストデータの登録をTraitで共通化する方法
早速ですが、Laravelでテストデータの登録をTraitで共通化する方法を解説します。
<?php
namespace Tests\Traits;
trait SeedTestData
{
public function seedTestData()
{
\DB::table('your_table_name')->insert([
'hoge' => '1',
]);
}
}
データを登録するTraitを作成します。
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use Tests\Traits\SeedTestData;
class SampleTest extends TestCase
{
use RefreshDatabase, SeedTestData;
public function testSuccessfulResponse()
{
$this->seedTestData();
$response = $this->get('/api');
$response->assertOk();
}
}
テストコードでTraitを使えばOKです。
テストデータって各テストで同じ場合が多いんですよね。
Traitは便利だ…
まとめ
今回は、Laravelでテストデータの登録を共通化する方法について解説しました。
以下が本記事のまとめになります。
- おすすめ本
Laravelの勉強なら「PHPフレームワーク Laravel入門 第2版
最後までお読みいただき、ありがとうございました!
- クソおすすめ本
海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。