[javascript] Jest에서의 테스트 간 데이터 공유 방법은 어떻게 되는가?
Jest는 JavaScript를 위한 유명한 테스팅 프레임워크입니다. Jest에서는 테스트 간에 데이터를 공유하기 위해 몇 가지 방법을 사용할 수 있습니다. 여기에는 전역 변수, 모듈 변수, 그리고 mocking이 포함됩니다.
-
전역 변수(Global Variables): Jest에서는 디폴트로
global
객체를 사용할 수 있습니다. 이 객체는 테스트 모듈에서 하나의 테스트에서 다른 테스트로 데이터를 전달하는 데 사용될 수 있습니다. 다음은global
객체를 사용하여 데이터를 공유하는 예시입니다.// 테스트 모듈 1 global.sharedData = "Hello, world!"; // 테스트 모듈 2 test("공유된 데이터 사용하기", () => { expect(global.sharedData).toBe("Hello, world!"); });
-
모듈 변수(Module Variables): Jest에서는 ES6의
import
와export
구문을 통해 모듈 변수를 사용할 수 있습니다. 다음은 모듈 변수를 사용하여 데이터를 공유하는 예시입니다.// 테스트 모듈 1 let sharedData = "Hello, world!"; export { sharedData }; // 테스트 모듈 2 import { sharedData } from "./testModule1"; test("공유된 데이터 사용하기", () => { expect(sharedData).toBe("Hello, world!"); });
-
Mocking: Jest에서는 테스트 모듈에 대한 mocking을 사용하여 데이터를 공유할 수 있습니다.
jest.mock()
함수를 사용하여 모듈을 가짜(mock) 모듈로 대체할 수 있습니다. 이를 통해 테스트 간에 모듈의 상태와 동작에 접근할 수 있습니다. 다음은 mocking을 사용하여 데이터를 공유하는 예시입니다.// 테스트 모듈 1 export const sharedData = "Hello, world!"; // 테스트 모듈 2 jest.mock("./testModule1"); import { sharedData } from "./testModule1"; test("공유된 데이터 사용하기", () => { expect(sharedData).toBe("Hello, world!"); });
이러한 방법을 사용하여 Jest에서 테스트 간에 데이터를 공유할 수 있습니다. 선택한 방법은 테스트 환경과 요구 사항에 따라 다를 수 있으므로, 적절한 방법을 선택하여 사용하시면 됩니다.
자세한 내용은 Jest 공식 문서를 참조하시기 바랍니다.