エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】dataProviderでヘルパ関数を使う方法【501日目】

テストコードでdataProviderを使いたい

テストコードを書いているときに、dataProviderを使うことで、
テストパターンをシンプルに作りたい。

dataProviderでヘルパ関数が使えない

public function XxxDataProvider() {
    return [
        'value' => factory(User::class);
    ];
}

こんな感じに、ヘルパ関数が使えないー

createApplication

Laravelのプログラムを動かすには、一度createApplicationを書く必要がある。

public function XxxDataProvider() {
    $this->createApplication();
    return [
        'value' => factory(User::class);
    ];
}

これで書ける。

でも、毎回書くのは残念なので

__construct()に書く

__construct()内に、createApplicationを書くことにより、
該当テストクラスにおいては、ヘルパ関数が問題なく書けます。

ヘルパ関数の使用頻度に合わせて、どちらに書くか選びましょう!