반응형 프로그래밍/GO6 [golang] 조건문 있는 함수를 조건문에서 호출하는 유닛 테스트 이전 포스팅을 통해 조건문 및 루프가 있는 함수의 유닛 테스트를 알아보았다. 이번에는 조건문이 있는 함수를 조건문에서 호출하는 함수의 유닛 테스트이다. https://namsaenga.tistory.com/70 [go test] 조건문 및 루프가 있는 함수 유닛 테스트, nested function golang 유닛 테스트를 하다 보면 대상 함수에 단순히 조건문뿐만 아니라 루프가 있는 경우도 있다. 루프 안에 조건문에 대한 커버리지를 확인하기 위해서는 테스트 함수에서 루프를 빠져나갈 상 namsaenga.tistory.com getDifficulty 함수의 유닛 테스트는 조건문에 따라 3가지의 경우(b.Height가 0, b.Height%difficultyInterval이 0, 그 외)를 고려해야 한다... 2022. 6. 13. [golang] 조건문 및 루프가 있는 함수 유닛 테스트, nested function golang 유닛 테스트를 하다 보면 대상 함수에 단순히 조건문뿐만 아니라 루프가 있는 경우도 있다. 루프 안에 조건문에 대한 커버리지를 확인하기 위해서는 테스트 함수에서 루프를 빠져나갈 상태 변수를 선언해줘야 한다. 다른 객체지향 언어와 다르게 golang은 클래스가 존재하지 않지만 구조체를 클래스(e.g.1 C++: 멤버 함수, Go: Receiver / e.g.2 C++:상속, Go: Embedding)처럼 사용할 수 있다. 또한, golang에서는 nested class 특징을 nested function로 사용할 수 있다. 이전 포스팅을 통해 효율적인 유닛 테스트를 하기 위해서는 어댑터 패턴 기반으로 리팩터링해야 한다는 것을 알았다. 그리고 페이크 함수를 구현하여 실제 네트워크 및 파일 시스템(.. 2022. 6. 9. [golang] Adapter Pattern 기반 Unit Test(2) 이전 포스팅에서 소스코드를 Adapter Pattern 기반으로 리팩터링 하여 Unit Test를 수월하게 만들어 주었다. https://namsaenga.tistory.com/68 [Golang] Adapter Pattern 기반 Unit Test(1) Adapter Pattern 기반의 Unit Test를 하기 위해서는 기본적인 Unit Test를 왜 해야 하는지 이해해야 한다. 이전 포스팅에 관련된 설명이 있다. https://namsaenga.tistory.com/62 [godoc] Unit Test 및 Interfaces.. namsaenga.tistory.com 1. 어댑터 패턴 기반 유닛 테스트(예제: 블록체인 클론코딩) 블록 테스트 과정에서 블록 생성이 가장 먼저 호출될 것이기 때문에, b.. 2022. 6. 8. [golang] Adapter Pattern 기반 Unit Test(1) Adapter Pattern 기반의 Unit Test를 하기 위해서는 기본적인 Unit Test를 왜 해야 하는지 이해해야 한다. 이전 포스팅에 관련된 설명이 있다. https://namsaenga.tistory.com/62 [godoc] Unit Test 및 Interfaces 기반 테스트 이전 포스팅에서 godoc을 이용하여 unit test를 모두 독립적으로 할 수 있다는 것을 알았다. 하지만 코드에 db 및 api 요청이 있을 시에는 쉽게 unit test를 할 수 없다. https://namsaenga.tistory.c.. namsaenga.tistory.com 어댑터 패턴(Adapter Pattern)은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴이다. 예를 들어, .. 2022. 6. 8. 이전 1 2 다음 반응형