티스토리 뷰
1. 갑자기 모든 테스트가 깨지면서 404오류가 리턴되었다.
상황:
InvalidArgumentException: Unable to locate factory with name [default] ~
하는 오류가 발생했다. 검색해보니..
php artisan clear-compiled
composer dump-autoload
php artisan optimize
명령어를 실행해보라고 한다. 뭔가 불길했다. 하지만 다른 방법이 없어 실행해보기로 했다.
갑자기 잘 되던 테스트들이 전부 다 깨지면서 404 오류가 리턴되었다.
겁나게 스트레스 받는 일이 아닐 수 없었다.
구글을 통해 검색해보니 .env APP_URL 변수의 url이 잘못되었다고 한다.
아무리 해도 안된다. 이것저것 다 넣어봤는데 안된다.
하.. 다시 짧은 영어로 phpunit fail after clear로 검색해봤다.
tests/TestCase.php에 다음을 추가해보라고 한다.
/**
* Creates the application.
*
* @return \Illuminate\Foundation\Application
*/
public function createApplication()
{
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$this->clearCache(); // NEW LINE -- Testing doesn't work properly with cached stuff.
return $app;
}
/**
* Clears Laravel Cache.
*/
protected function clearCache()
{
$commands = ['clear-compiled', 'cache:clear', 'view:clear', 'config:clear', 'route:clear'];
foreach ($commands as $command) {
\Illuminate\Support\Facades\Artisan::call($command);
}
}
드디어 다시 테스트가 제대로 실행된다!만..
원래 오류는 아직 미해결....ㅎㅎ