찾다

 >  Q&A  >  본문

테스트 기반 개발을 사용하면 NestJS API에서 컨트롤러와 서비스가 동일한 테스트를 공유합니다.

Prisma와 MySQL을 사용하여 NestJS 기반 API를 개발 중입니다. 저는 테스트 기반 개발(TDD)을 처음 접했기 때문에 프로젝트에 테스트를 추가하고 싶습니다. UsersService编写了测试,但我对如何测试相应的UsersController感到困惑。此外,我对单元测试和集成测试之间的区别也不确定。下面,我将提供我已经编写的UsersServiceUsersController에 성공했고 관련 코드 조각을 테스트했습니다.

프리즘 솔루션:

으아악

UsersService(관련 부분):

으아악

UsersController(관련 부분):

으아악

구체적인 질문:

P粉354602955P粉354602955445일 전522

모든 응답(1)나는 대답할 것이다

  • P粉052686710

    P粉0526867102023-09-17 00:07:45

    단위 테스트를 사용하면 각 메서드를 독립적으로 테스트할 수 있습니다. 예를 들어 컨트롤러 메서드가 서비스 메서드를 호출하고 반환하는 경우 컨트롤러 메서드가 서비스 메서드를 호출하는지 여부를 단위 테스트에서 테스트해야 합니다.

    통합 테스트는 일반적으로 모의 개체를 사용하지 않고 전체 코드를 테스트하고 실제 데이터베이스 및 기타 항목을 사용하여 애플리케이션의 전체 흐름을 테스트하는 것에 관한 것입니다. 예를 들어 로그인 및 로그아웃, 등록 및 프로필 생성 등과 같은 사용자 스토리를 테스트할 수 있습니다.

    개인적으로는 TDD를 사용할 때 단위 테스트를 먼저 작성합니다. 나중에 필요하다고 생각되면 통합 테스트를 작성하겠습니다.

    회신하다
    0
  • 취소회신하다