phpunitでテスト書いてた
いい感じに動いてるので、CircleCIで自動的にテストをチェックしようってことになった。
すると、動かない。動くんだけど、たまに動かない。
調べていくと、factoryがたまにうまく初期値を設定してくれてないっぽい。
毎回じゃなく、たまになので再現できず困った。
<?php $factory->define(App\Models\User::class, function (Faker\Generator $faker) { return [ 'id' => $faker->randomNumber(), ]; });
こんなときに、idのデータがないと言われるやつ。
何があったか
複数定義してた
<?php $factory->define(App\Models\User::class, function (Faker\Generator $faker) { return [ 'id' => $faker->randomNumber(), ]; }); <?php $factory->define(App\Models\User::class, function (Faker\Generator $faker) { return [ ]; });
たまに下が動いて、初期値がないクラスが作成されていた。
多重定義には気をつけようねってお話でした。