test 3

AWS의 serverless application을 local에서 테스트하는 방법

AWS serverless 모델 중 하나이자 대표격인 Lambda를 사용하다가 불만이 생겼다. "단위테스트를 좀 더 편하게 할만한 방법이 없을까?", "꼭 AWS에 올려놓고 테스트해야 하나?" 등이었다. 물론 AWS에 올려서 테스트해도 된다. 하지만 로컬의 IDE에서 debugging하는 것 만큼 편하지 않다. AWS의 샘플코드인 아래 코드를 복붙하여, 보통 메인함수 실행시키듯 로컬에서 실행시키면 다음과 같은 에러가 발생한다. package main import ( "context" "fmt" "github.com/aws/aws-lambda-go/lambda" ) type MyEvent struct { Name string `json:"name"` } func HandleRequest(_ context...

IT 2023.05.17

Go 단위 테스트 방법

golang(이하 go)도 python만큼이나 단위테스트 방법이 간단하다. 바로 알아보자 요구사항 go만 설치되어있으면 된다. go 언어에 단위 테스트 기능이 포함되어 있다. 테스팅 테스트할 함수를 정한다. 아래는 예시 코드이다. // foo.go package awesomeProject1 // 이 파일 바깥에서도 이 함수를 사용하려면, 대문자로 적어야한다. // java로 치면 public, private 같은 접근 제어자의 역할을 한다. func Foo() string { return "Foo" } 테스트 파일 만들기 단위 테스트할 파일 이름에 ~_test.go를 붙여서 테스트 파일을 만들어준다. 테스트 파일에 테스트 작성 예시 테스트 코드 package awesomeProject1 import "t..

IT 2023.05.04

C++ 테스트 환경 구축 - CLion에서 Google Test 연동, 사용 방법(with cmake)

C++ 초심자를 위한 테스트 환경 구축 방법을 소개하고자 한다. 아마 대부분의 개발자는 python의 pytest, javascript의 jest, java의 junit 같이 테스트 디펜던시만 추가해서 동작시킬 수 있는 환경을 원할 것이다. 나 역시 그랬고, C++의 패키지 매니저가 뭔지도 몰라 삽질했던 나같은 사람을 위해 이 글을 작성한다. CLion에 Google Test 적용하기 IDE: CLion(VS 등 다른 IDE 사용자는 다른 게시글을 찾길 권장. 이 게시글에 하트가 많이 눌려있다면 다른 IDE나 라이브러리, 플랫폼도 작성해보겠습니다) 요구사항 필수 C++ 버전: 14를 호환할 수 있는 버전(17에서도 동작한다) 선택 cmake(이 문서에 따르면, Bazel도 지원하는 것으로 확인 됨. CL..

IT 2023.04.17