인프런 커뮤니티 질문&답변

lhkl님의 프로필 이미지
lhkl

작성한 질문수

따라하며 배우는 TDD 개발 [2023.11 업데이트]

mysql import 에러

해결된 질문

작성

·

358

0

mysql을 사용하여 진행 중인 프로젝트가 있는데 tdd를 적용해보려고 합니다.

controllers/subscription.js

const db = require('../routes/database.js');

exports.subscribeCalendar=()=>{};

컨트롤러 코드는 위와 같고

test/unit/subscription.test.js

const subscriptionController=require("../../controllers/subscription")

describe("캘린더 구독",()=>{
    test("subscribeCalendar 함수가 있을 겁니다.",()=>{
        // subscriptionController.subscribeCalendar의 타입은 함수다.
        expect(typeof subscriptionController.subscribeCalendar).toBe("function")
    })
})

테스트 코드는 위와 같은데 컨트롤러에서 db를 임포트 하기 전에는 에러가 안 떴는데 임포트 한 후에

테스트는 통과하지만 아래와 같은 에러 메시지가 뜹니다. 검색해보니 단위테스트 할 때는 db 관련 코드는 넣지 말라고 하는데 그 원인일까요?

ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

이미 mysql로 진행 중이라 몽구스로 변경하기가 어려운데 에러메시지 무시하면 될까요..?

답변 1

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 ~~~  답장이 늦어서 죄송합니다 ~   단위테스트는 말그래도 하나하나의 기능을 테스트 하는데 데이터베이스를 연결하면 다른 기능까지 연결이되게 됩니다. 그래서 단위테스트에서는 더미 데이터를 이용하시면 되고 통합 테스트에서 연결해주시면 됩니다 ~ 

lhkl님의 프로필 이미지
lhkl

작성한 질문수

질문하기