티스토리 뷰

나의 경우에는 factory가 같은 모델을 사용하며, 다른 데이터셋을 넣어야 했었다.

그럴경우에 나는 factory파일을 여러개 만드는걸 먼저 생각했었는데,

당연히 안되는 거였다.

 

그래서 매뉴얼을 뒤져서 알아내었다!!

 

먼저 factory에서는

 

$factory->define(User::class, function() {
    return [
        'title' => 'define',
    ];
});

$factory->state(User::class, 'person' ,function () {
    return [
            'title'             => 'asdfasdf',
            'code'              => 'PERSONAL',
    ];
});

$factory->state(User::class, 'company',function () {
    return [
        'title'             => 'qwerqwer',
        'code'              => 'COMPANY'
    ];
});

이런식으로 define이 아닌 state로 만들어주자.

 

그리고 실제로 사용할때에는 테스팅 상황에 따라,

 

        $this->user = factory(User::class)->states('company')->make();
        $this->oldUser = factory(User::class)->states('person')->make();

 

이런식으로 사용하면 된다.

 

주의!!

 

define을 해주고 state를 사용하자!

공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함