tests/
└── MyService.test.tsx
describe("MyComponent", () => {
it("should render correctly", () => {
const { getByText } = render(<MyComponent />);
expect(getByText("Hello, Jest!")).toBeInTheDocument();
});
});
| Matcher | 정의 |
|---|---|
.toBe(value) | 원시 값을 비교하거나 객체 인스턴스의 참조 id를 엄격하게 비교 |
.toEqual(value) | 객체·배열 같은 복합 데이터 구조의 모든 프로퍼티를 재귀적으로 비교 (깊은 비교) |
.not | matcher의 반대조건 수행 예) .not.toBe(value) → 값이 주어진 값과 다름을 확인 |
.toBeFalsy() | 값이 falsy 값인지 확인 (false, 0, "", null, undefined, NaN) |
.toBeTruthy() | 값이 truthy 값인지 확인 |
.toBeGreaterThan(number) | 값이 > 숫자인지 확인 |
.toBeGreaterThanOrEqual(number) | 값이 >= 숫자인지 확인 |
.toBeLessThan(number) | 값이 < 숫자인지 확인 |
.toBeLessThanOrEqual(number) | 값이 <= 숫자인지 확인 |
.toBeInstanceOf(Class) | 주어진 객체가 특정 클래스의 인스턴스인지 확인 |
.toBeDefined() | 값이 undefined가 아닌지 확인 |
.toBeUndefined() | 값이 undefined인지 확인 |
.toBeNull() | 값이 null인지 확인 |
.toBeNaN() | 값이 NaN인지 확인 |
.toContain(item) | 배열이 특정 항목을 포함하는지 확인 |
.toContainEqual(item) | 배열이 특정 객체나 값과 동등한 항목을 포함하는지 확인 |
.toHaveProperty(keyPath, value?) | 객체가 키 경로에 해당하는 프로퍼티를 가지고 있는지, (선택) 그 값이 주어진 값과 동일한지 확인 |
.toHaveLength(number) | 객체가 .length 프로퍼티를 가지고 있고, 그 길이가 주어진 숫자와 동일한지 확인 |
.toMatch(regexp \| string) | 문자열이 정규표현식과 일치하거나 문자열이 주어진 문자열을 포함하는지 확인 |
.toMatchObject(object) | 객체가 주어진 객체와 일치하는지 확인 |
.toThrow(error?) | 함수가 호출될 때 오류를 던지는지 확인, (선택) 특정 오류 또는 오류 메시지가 던져지는지 확인 |
npx jest