경우에 따라 파일 시작 부분에서 한 번만 설정하면 되는 경우도 있다. 위 예에서 데이터베이트를 테스트간에 재사용할 수 있다면 아래와 같이 코드를 변경할 수 있다.
beforeAll(() => {returninitializeCityDatabase();});afterAll(() => {returnclearCityDatabase();});test('city database has Vienna', () => {expect(isCity('Vienna')).toBeTruthy();});test('city database has San Juan', () => {expect(isCity('San Juan')).toBeTruthy();});
위의 설정과 해체 블록은 describe 블록을 통해 범위 지정(Scoping)할 수 있다.
// Applies to all tests in this filebeforeEach(() => {returninitializeCityDatabase();});test('city database has Vienna', () => {expect(isCity('Vienna')).toBeTruthy();});test('city database has San Juan', () => {expect(isCity('San Juan')).toBeTruthy();});describe('matching cities to foods', () => {// Applies only to tests in this describe blockbeforeEach(() => {returninitializeFoodDatabase(); });test('Vienna <3 sausage', () => {expect(isValidCityFoodPair('Vienna','Wiener Würstchen')).toBe(true); });test('San Juan <3 plantains', () => {expect(isValidCityFoodPair('San Juan','Mofongo')).toBe(true); });});