농담 및 반복 작업
4321 단어 testing
몇 가지 예:
데이터베이스 쿼리, 저장소 지우기, 모의 데이터 지우기 또는 모의 경로 재설정.
우리는 각 테스트에서 이 반복되는 코드를 가지고 귀찮게 하고 싶지 않으며 운 좋게도 Jest가 우리를 위한 솔루션을 가지고 있습니다.
반복 작업
연결할 수 있는 네 가지 기능이 있습니다.
beforeEach
: 각 테스트 전에 실행됨afterEach
: 각 테스트 후 실행beforeAll
: 모든 테스트 전에 실행됨afterAll
: 모든 테스트 후에 실행됨예를 스케치해 보겠습니다.
호출할 데이터베이스 함수가 있으므로 달성하려는 단계는 다음과 같습니다.
이 시나리오는 네 가지 기능이 모두 연결되는 완벽한 경우입니다.
가장 먼저 원하는 것은
beforeAll
함수를 사용할 데이터베이스를 만드는 것입니다.beforeAll(() => {
return createDatabase();
});
다음 단계는 테스트에서 변경할 수 있는 데모 데이터로 데이터베이스를 채우는 것입니다.
beforeEach(() => {
return populateDatabase();
});
우리의 테스트는 이 데이터베이스의 요소를 변경/제거/생성할 수 있으므로 각 테스트 사이에 데이터베이스를 지우고 싶습니다.
afterEach(() => {
return clearDatabase();
});
모든 작업이 완료되면 다음 실행이 다시 새로워지도록 데이터베이스를 제거해야 합니다.
afterAll(() => {
return removeDatabase();
});
이제 이 네 단계가 필요한 시간에 실행됩니다.
이를 보여주기 위해 이 샘플 테스트 파일을 만들고 각 호출이 언제 사용되는지 살펴보겠습니다.
test('user database has Chris', () => {
expect(db.user.hasName('Chris')).toBeTruthy();
});
test('user database doesnt have Thomas', () => {
expect(db.user.hasName('Thomas')).not.toBeTruthy();
});
발사 순서는 다음과 같습니다.
beforeAll
: 데이터베이스 생성beforeEach
: 데이터베이스 채우기afterEach
: 데이터베이스 지우기beforeEach
: 데이터베이스 채우기afterEach
: 데이터베이스 지우기afterAll
: 데이터베이스 제거그리고 그것이 취할 흐름입니다.
우리는 신속하게 테스트를 보다 관리하기 쉽게 만들고 각 테스트가 견고하고 신선하도록 특정 방식으로 작업할 수 있습니다.
읽어주셔서 감사합니다. 연결해 봅시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(농담 및 반복 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/jest-and-recurring-actions-73g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)