Dev71 의존성 분리와 스텁 이번에는 일관된 테스트를 진행하기 위해 의존성을 해소하는 방법 중 “스텁”을 사용하는 방법을 살펴보려고 합니다. 그전에 먼저 의존성의 유형을 먼저 알아보고, 이후 작업 단위에 스텁을 주입하는 방법을 살펴보겠습니다.의존성 유형작업 단위에서 사용할 수 있는 의존성은 내부로 들어오는지, 외부로 나가는지에 따라 스텁(stub)과 목(mock)으로 나뉩니다. 그리고 이런 가짜 의존성을 포괄하여 테스트 더블 이라고 합니다.스텁: 내부로 들어오는 의존성스텁은 종료점을 나타내지 않는 의존성으로, 테스트에 필요한 특수한 데이터나 동작을 작업 단위에 제공하는 역할을 합니다. 예를 들면, 특정 라이브러리를 활용한 데이터나 데이터베이스의 쿼리 결과, 네트워크 응답 결과 등이 있으며 이전 작업의 결과들이라고 볼 수 있습니다. .. 2025. 3. 2. JEST 활용 단위 테스트 작성 제스트(JEST)테스트 프레임워크인 제스트는 2가지 방법으로 테스트 파일을 찾습니다.__test__ 폴더 안의 모든 파일을 불러온다.모든 폴더를 대상으로 *.spec.js 또는 .test.js로 끝나는 파일 재귀적으로 찾는다. (.ts 포함)제스트에서는 test() 함수나 it() 함수를 통해 개별 테스트를 구현합니다. 이때, 폴더 구조의 역할과 유사한 describe() 함수를 사용하면 테스트를 그룹으로 묶을 수 있으며, 주로 it() 함수와 함께 사용됩니다. describe() 구문은 주로 동일한 시나리오에서 동일한 진입점에 대해 여러 결과를 검증할 때 사용합니다.중첩된 코드를 표현하기 위해 beforeEach() 함수를 사용할 수 있지만, 너무 과도한 결합으로 유연성이 떨어지거나 테스트가 어떤 일을.. 2025. 2. 25. 단위 테스트 기초 단위 테스트단위 테스트의 정의를 먼저 살펴보고, 이를 이해하기 위한 개념들을 살펴보겠습니다.단위 테스트는 진입점을 통해 작업 단위를 호출한 후 그 종료점을 확인하는 자동화된 코드다.테스트 프레임워크를 통해 쉽게 작성할 수 있다.빠르게 실행할 수 있다.신뢰성이 높고 가독성도 좋아서 유지 보수하기 용이하다.코드가 변경되지 않는 한 동일한 결과를 보장한다.작업 단위단위 테스트(unit test)에서 "단위"란 시스템 내 작업 단위(unit of work) 또는 사용 사례(use case)를 의미합니다. 이때, 작업 단위의 시작인 진입점(entry point)은 로직을 실행하는 시작점을 의미하고, 종료점(exit point)은 작업 단위의 결과를 나타내며 테스트로 검사할 수 있는 지점을 의미합니다.단위 테스트는.. 2025. 2. 23. 파이썬으로 SAM 사용하기 - 모듈 불러오기 에러/ 레이어 배포 - 패키지 에러 SAM 로컬테스트 모듈 불러오기 에러핸들러가 위치한 파일이 다른 디렉토리에 있는 모듈을 읽어오지 못하는 에러가 발생했다.ImportModuleError: No module named 'sample_module' 파일 구조는 다음과 같다.root/│── handlers/│ ├── get_sample.py│── src/│ ├── sample.py../src 경로에 있는 모듈을 임포트할 수 있도록 파이썬의 모듈 검색 경로(sys.path)에 추가했다. import sysimport ossys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../src")))SAM 템플릿에서는 함수 리소스에 codeUri 를 ./로 설정하고 핸들.. 2025. 2. 19. 이전 1 2 3 4 5 6 7 ··· 18 다음