테스트들을 그룹으로 묶는 역할을 한다. 이렇게 그룹으로 테스트를 묶는 이유는 Global Methods들을 사용하기 위해서이다.
import { double } from './example'
describe('group 1', () => {
**beforeAll**(() => { // 모든 테스트가 시작하기 전 단 한 번 실행된다.
console.log('beforeAll')
})
**afterAll**(() => { // 모든 테스트가 모두 실행되고 나서 단 한 번
console.log('afterAll')
})
**beforeEach**(() => { // 각 테스트가 동작하기 전에 각각
console.log('beforeEach')
})
**afterEach**(() => { // 각 테스트가 동작하고 나서 각각
console.log('afterEach')
})
test('first test', () => {
console.log('first test')
expect(double(13)).toBe(26)
})
test('argument should be number', () => {
console.log('argument should be number')
expect(double(3)).toBe(6)
expect(double(10)).toBe(20)
})
test('no argument', () => {
console.log('no argument')
expect(double()).toBe(0)
})
})
이렇게 된다면 그 결과는 다음과 같이 나올 것이다.
beforeAll
beforeEach
first test
afterEach
beforeEach
argument should be number
afterEach
beforeEach
no argument
afterEach
afterAll