본문 바로가기

Test2

Golang과 함께하는 테스트 여정 - 통합 테스트 위 글에서 단위 테스트에 대하여 이야기 해보았습니다. 하지만, 테스트는 단위 테스트만으로 완벽하게 보장되지 않습니다. 예를 들면 어떠한 모듈을 모킹해둔 상태에서 그 모듈을 변경한다면 잘못되었지만 테스트는 잘 돌아가는 위양성 문제가 발생할 수 있으며, 회귀 테스트가 보장되지 않을 수 있습니다. 이를 보장하기 위해서는 다양한 모듈이 참여하는 통합 테스트가 필요한데요. Golang으로 통합 테스트를 작성하는 과정을 설명해보겠습니다. Pre-Condition 팀에서는 DI를 편하게 사용하기 위하여 fx라는 의존성 주입 프레임워크를 사용합니다. 여기서 만들어주는 것을 기반으로 글을 진행합니다. 생성의 책임을 위임한 서버 띄우기 최초에 테스트 환경을 어떻게 구축할지 고민을 많이 했는데요. 결론은 서버를 띄워서 ap.. 2023. 5. 21.
속성 기반 테스트 in Golang (Property Based Testing) 대체적으로 개발할 때, 우리는 예제를 기반으로 테스트 하는 것을 선호합니다. 예제 기반 테스트는 앞선 설명과 같이 테스트 케이스를 예제를 통해 생성하는 방식으로, 특정 입력에 대해 기대되는 출력 값을 예제로 제공하고, 테스트 대상 코드의 출력 값이 기대되는 값과 일치하는지 여부를 검증합니다. 이 방식은 테스트 케이스를 생성하기 쉽고, 이해하기 쉽기 때문에 많이 사용되어 왔습니다. 아래와 같이 add라는 함수를 만들고 사례를 기반으로 테스트를 진행해보겠습니다. // 두 개의 정수를 받아서 두 수의 합을 반환하는 함수 func add(a, b int) int { return a + b } // test func TestAdd(t *testing.T) { tests := []struct { a, b, expe.. 2023. 3. 26.