testingintegration-test
통합 테스트 - 시스템 컴포넌트 간 상호작용 검증
조회 0
통합 테스트는 여러 컴포넌트가 함께 동작하는지 검증하는 테스트입니다.
이 글에서는 통합 테스트 작성 방법과 실무 패턴을 정리합니다.
1. 통합 테스트 개념
- 단위 테스트: 개별 함수/모듈
- 통합 테스트: 여러 모듈의 상호작용
- E2E 테스트: 전체 시스템
2. API 통합 테스트
const request = require("supertest");
const app = require("./app");
describe("API Integration", () => {
it("should create and retrieve user", async () => {
const res = await request(app)
.post("/users")
.send({ name: "kwkang" });
expect(res.status).toBe(201);
const getUserRes = await request(app)
.get(`/users/${res.body.id}`);
expect(getUserRes.body.name).toBe("kwkang");
});
});
3. 데이터베이스 통합 테스트
beforeEach(async () => {
await db.migrate.latest();
db..();
});
( () => {
db..();
});