티스토리 뷰

나는 테스팅 할때 위와 같은 오류가 발생하였다.

 

해시된 값의 설정을 확인할수 없다?? 이게 뭔말이야.....

그래.. 나예요, 낫놓고 기역자 모르는사람....

해시부분인거 같긴한데, 모야....ㅠㅠㅠ

 

일단 오류난 라인 가보자.

쌩뚱맞게도 User::factory()->create(); 라인에서 발생했다.

 

이게 왜...?

 

유저 팩토리는 프로젝트 생성할때 그대로 사용하고 있어서, 뭐가 없었다.

public function definition(): array
{
    return [
        'name' => fake()->name(),
        'email' => fake()->unique()->safeEmail(),
        'email_verified_at' => now(),
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
        'remember_token' => Str::random(10),
    ];
}

 

해시 사용하는거는 저 paword 부분일텐데?

뭐징........

해서 찾아내었다.

 

 

먼저 config/hashing.php 에서 

'bcrypt' => [
    'rounds' => env('BCRYPT_ROUNDS', 10),
],

이 부분을 봐두고,

 

phpunit.xml에서

<php>
    <env name="APP_ENV" value="testing" force="true"/>
    <env name="BCRYPT_ROUNDS" value="4"/>
    <env name="CACHE_DRIVER" value="array"/>
    <env name="DB_CONNECTION" value="sqlite"/>
    <env name="DB_DATABASE" value=":memory:"/>
    <env name="MAIL_MAILER" value="array"/>
    <env name="QUEUE_CONNECTION" value="sync"/>
    <env name="SESSION_DRIVER" value="array"/>
    <env name="TELESCOPE_ENABLED" value="false"/>
</php>

 

찾았다!

 

결국, 테스팅할때 허용하는 bcrypt에서 허용하는 범위가 달라서 생기는 문제네!

 

phpunit.xml에서 BCRYPT_ROUND의 value를 10으로 줬더니 오류 안나고 그린 띄웠당!

<php>
    <env name="APP_ENV" value="testing" force="true"/>
    <env name="BCRYPT_ROUNDS" value="10"/>
    <env name="CACHE_DRIVER" value="array"/>
    <env name="DB_CONNECTION" value="sqlite"/>
    <env name="DB_DATABASE" value=":memory:"/>
    <env name="MAIL_MAILER" value="array"/>
    <env name="QUEUE_CONNECTION" value="sync"/>
    <env name="SESSION_DRIVER" value="array"/>
    <env name="TELESCOPE_ENABLED" value="false"/>
</php>

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함