Help us understand the problem. What is going on with this article?

LaravelのfactoryでInvalidArgumentException: Unable to locate factory with name [default] [hogehoge]. が出た

はじめに

上記でググってきた、ありがちな 'hogehoge' の参照方法が間違っていたわけではなかった。

結論から書くと

php artisan make:test hogeTest --unit でUnitテストを生成したときに
use PHPUnit\Framework\TestCase; でUnitテストが作成されていたので
use Tests\TestCase; と書き直した

考察

「そもそも今までUnitテスト内でfactoryを使ってたのになぜ急に!」
と思い、今までのと比較してみたら上記が違いましたよ、と。
検証してはないけど、Laravelのバージョンを5系から6系に変えたのでそのタイミングで変わったのかもしれない。

また本来、 use PHPUnit\Framework\TestCase; でもfactoryを呼び出せるようにすることが正しい解決方法だとは思う。

https://qiita.com/kawagashira/items/30b6fbd7a865f4005a90
現状結論の解決方法で良かった。
しかし単体テストを名乗ってはいけなかった。

追記

https://laravel.com/docs/5.8/testing
https://laravel.com/docs/6.x/testing

を比較するとやはりバージョンアップが関わっているようだ。が。factory使えないのはなんでだろう?

relic
日本企業の新規事業開発やイノベーション創出を支援する事業を展開しています。自社サービスでは、クラウドファンディングPF「ENjiNE」、MA・CRMプラットフォーム「Booster」、イノベーションマネジメントプラットフォーム「Throttle」があります。
https://relic.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした