2016-09-19 5 views
1

약속 결과에 대한 테스트를 작성하고 싶습니다. 각 it/pit 섹션에서 약속을 해결하고 싶습니다.jest - 테스트하기 전에 약속을 해결하십시오.

나는 다음과 같이 떨어지게 필요합니다

describe('getData() results test',() => { 
    return getData().then(response => { 
    it('foo',() => expect(response.foo).toEqual(1)); 

    it('bar',() => expect(response.bar).toEqual(2)); 

    it('bar',() => expect(response.bar).toEqual(3)); 
    }); 
}); 

beforeEach 사용하는 경우 - 약속은 it 섹션의 수만큼으로 해결 될 것입니다. 한 번 해결하고 응답을 테스트해야합니다. 많은 테스트 케이스가 있으므로 모든 테스트를 it 섹션으로 분할하고 싶습니다.

답변

3

beforeAll 함수는 설명의 모든 스펙이 실행되기 전에 한 번만 호출됩니다.

약속을 되 돌리면 Jest는 테스트를 실행하기 전에 약속이 해결 될 때까지 기다립니다.

0

Jest 문서에서 Async tutorial을보십시오. 워드 프로세서의

describe('getData() results test',() => { 
    var response; 
    beforeEach(() => { 
     response = getData(); 
    }); 

    it('foo',() => { return response.then(r => expect(r.foo).toEqual(1))}); 

    it('bar',() => { return response.then(r => expect(r.bar).toEqual(2))}); 

    it('bar',() => { return response.then(r => expect(r.bar).toEqual(3))}); 
}); 

키 비트 : 반환되어야 테스트중인

약속 난 당신이 뭔가를해야합니다 생각합니다.

+0

약속은 3 번 해결됩니다. 한 번 해결하고 응답을 테스트해야합니다. 많은 테스트 케이스가 있으므로 모든 테스트를'it' 섹션으로 나누고 싶습니다. – tuchk4

+0

'테스트중인 약속이 반환되어야합니다 .' 약속에 대해'pit' 섹션이있었습니다. 하지만 이제는 '사용할 수있는 것 같아.' – tuchk4

관련 문제