JEST - globalAPI/Matcher
afterAll(fn, timeout)afterEach(fn, timeout)beforeAll(fn, timeout)beforeEach(fn, timeout)describe(name, fn)describe.each(table)(name, fn, timeout)describe.only(name, fn)describe.only.each(table)(name, fn)describe.skip(name, fn)describe.skip.each(table)(name, fn)test(name, fn, timeout)test.concurrent(name, fn, timeout)test.concurrent.each(table)(name, fn, timeout)test.concurrent.only.each(table)(name, fn)test.concurrent.skip.each(table)(name, fn)test.each(table)(name, fn, timeout)test.only(name, fn, timeout)test.only.each(table)(name, fn)test.skip(name, fn)test.skip.each(table)(name, fn)test.todo(name)
위 메소드들을 그룹화시키면 아래와 같이 나눌 수 있습니다.
훅
테스트 후 상태를 지정
afterAll(fn, timeout)모든 테스트를 마친뒤 한번afterEach(fn, timeout)모든 테스트 뒤에 한번씩
테스트 전 상태를 지정
beforeAll(fn, timeout)beforeEach(fn, timeout)
describe('addOne', () => {
beforeAll(() => {
console.log('beforeAll동작')
}) // 모든테스트의 전단계에서
afterAll(() => {
console.log('afterAll동작')
}) // 모든테스트를 마친뒤
beforeEach(() => {
console.log('beforeEach동작')
})
afterEach(() => {
console.log('afterEach동작')
})
test('1', () => {
console.log('테스트1')
})
test('2', () => {
console.log('테스트2')
})
})
beforeAll동작 beforeEach동작 테스트1 afterEach동작 beforeEach동작 테스트2 afterEach동작 afterAll동작
테스트들을 그룹화 할때
describe(name, fn)describe.each(table)(name, fn, timeout)describe.only(name, fn)describe.only.each(table)(name, fn)describe.skip(name, fn)describe.skip.each(table)(name, fn)
describe('addOne', () => {
test('인수가 숫자인 경우', () => {
expect(addOne(2)).toBe(3)
})
test('인수가 문자인 경우', () => {
expect(addOne('2')).toBe(3)
expect(addOne('77')).toBe(78)
})
})
addOne이라는 이름으로 두개의 테스트를 묶음
테스트
test(name, fn, timeout)test.concurrent(name, fn, timeout)test.concurrent.each(table)(name, fn, timeout)test.concurrent.only.each(table)(name, fn)test.concurrent.skip.each(table)(name, fn)test.each(table)(name, fn, timeout)test.only(name, fn, timeout)test.only.each(table)(name, fn)test.skip(name, fn)test.skip.each(table)(name, fn)test.todo(name)
matchers
한글로 일치자라고 표현할 수 있으며 실제값이 기대하는 값과 일치하는지를 확인합니다.
test('two plus two is four', () => {
expect(2 + 2).toBe(4);
});
매우 많은 matchers가 있는데, 몇가지만 알아보겠습니다.
expect(value)
실제값을 가지고 matcher를 붙이는 역할을 합니다.
value부분에 기대하는 실제값을 넣어줍니다.
toBe(value)
가장 많이 사용하는 matcher입니다.
기본적으로 원시데이터를 비교하는 역할을 하는데 다음과 같이 사용할 수 있습니다.
const can = {
name: 'pamplemousse',
ounces: 12,
};
describe('the can', () => {
test('has 12 ounces', () => {
expect(can.ounces).toBe(12);
});
test('has a sophisticated name', () => {
expect(can.name).toBe('pamplemousse');
});
});
toBe()안에 들어있는 인자와 결과값이 같을경우 테스트에 통과합니다.
.toEqual(value)
toBe()가 원시데이터를 비교할때 사용했다면, toEqual은 객체데이터를 비교할 때 사용합니다.
const can1 = {
flavor: 'grapefruit',
ounces: 12,
};
const can2 = {
flavor: 'grapefruit',
ounces: 12,
};
describe('the La Croix cans on my desk', () => {
test('have all the same properties', () => {
expect(can1).toEqual(can2);
});
test('are not the exact same can', () => {
expect(can1).not.toBe(can2);
});
});
Author And Source
이 문제에 관하여(JEST - globalAPI/Matcher), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yhg0337/JEST-globalAPIMatcher저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)