blog

제스트 반응형 비동기 테스트

다양한 단일 테스트 비교 단일 테스트 무들에서 케이스가 설정 가능한 파일을 찾을 수 없는 경우, Jest 반응형 비동기 테스트, 콜백 테스트는 테스트를 시작하기 전에 완료된 함수를...

Oct 9, 2025 · 2 min. read
シェア

다양한 단일 테스트 비교

yarn install jest -g
jest --inti // 초기화할 때 모듈을 선택하고 Node가 아닌 jsdom을 선택하세요.

단일 테스트에서 moudle을 찾을 수 없는 경우 jest.config.js 파일을 설정할 수 있습니다.

 moduleNameMapper: {
 // 'absolute-path': 'relative-path'
 'src/(.*)': '<rootDir>/src/$1',
 },

Jest 반응형 비동기 테스트 a.test.ts, 콜백 테스트는 테스트를 시작하려면 완료된 함수를 수동으로 실행해야 합니다.

// 
jest a.test.ts

퍼지 매칭

test('부동 소수점 합계', () => { var value = 0.1 + 0.2; expect(value).toBeCloseTo(0.3); //  });

비동기 통화 테스트

jest.setTimeout(30000);
//중첩 구조는 여러 레이어에 중첩될 수 있습니다.
describe("비동기 호출 테스트", ()=> {
 test("callback", (done) => {
 function callback(error, data){
 if(error){
 done(error);
 return;
 }
 try{
 expect(data).toBe({price:21});
 // done 테스트는 다음의 콜백 이후에만 시작됩니다.
 done();
 }catch(error){
 done(error);
 }
 }
 fetchData(callback)
 });
 test("then", ()=>{
 return fetchData().then((data)=>{
 expect(data).toBe({price:21})
 })
 })
 test("await", async()=>{
 var data = await fetchData();
 expect(data).toBe({price:21})
 })
 test("mock", ()=>{
 const myMock = jest.fn();
 console.log(myMock());
 myMock.mockReturnValueOnce(10).mockReturnValueOnce("x").mockReturnValueOnce(true);
 console.log(myMock(), myMock())
 expect(myMock()).toBe(true)
 })
 test("mock random", ()=>{
 const myMock = jest.fn();
 // console.log(myMock());
 myMock.mockReturnValueOnce(true).mockReturnValueOnce(true);
 const result = [11, 12].filter((num) => myMock(num))
 console.log(result);
 console.log(myMock.mock.calls[0][0])
 // console.log(myMock.mock.calls[1][0])
 // console.log(myMock(), myMock())
 expect(myMock.mock.calls[1][0]).toBe(12)
 })
 // test
})
const fetchData = async (callback?:any) => {
 return new Promise((resolve) => {
 setTimeout(() => {
 resolve({price:21});
 callback?.(null, {price:21})
 }, 400);
 });
}
Read next

CSS는 공백과 줄 바꿈을 유지합니다.

최근에 배경 데이터, 프런트 엔드 디스플레이를 수신하는 프로젝트를 작성하여 공백과 줄 바꿈을 유지하기 위해 반나절을 찾았고, 구체적인 구현은 다음과 같으며 다른 파트너도 동일한 문제가 발생하도록 돕고 싶습니다.

Oct 9, 2025 · 1 min read