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

jwna님의 프로필 이미지
jwna

작성한 질문수

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

getProductById 통합 테스트 작성 (2)

/api/products/osakdokasdk 의 500을 반환하는 경우

작성

·

127

0

/api/products/osakdokasdk 같은 형식으로 입력이되면 500을 반환한다고 하셨는데, 404와 500도 같이 테스트를 하려면 어떻게 해야 하나요? 아래 코드를 어떻게 수정해야할까요?

it("GET id does not exist /api/products/:ProductId"async ()=>{
    const response = await request(app).get('/api/products/oaskdokasdk');
    expect(response.statusCode).toBe(404);
})
--------------------
exports.getProductById = async (reqresnext=> {
    try {
        const product = await productModel.findById(req.params.productId);
        if (product) {
            res.status(200).json(product);
        } else {
            res.status(404).send();
        }
    } catch (error) {
        console.log(error);
        next(error);
    }
};

답변 1

0

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

안녕하세요 jwna님 

그 부분은 몽고DB자체에서 에러를 던지기 때문에 catch 구문에서 next(error)로 저절로 500 에러가 들어가게 됩니다. 

jwna님의 프로필 이미지
jwna

작성한 질문수

질문하기