단위 테스트 Go 언어의 함수 오류 처리 방법은 다음과 같습니다. 모의 입력 생성: 제어된 오류가 있는 모의 객체를 생성합니다. 오류 메시지 확인: 반환된 오류 메시지를 예상 메시지와 일치시킵니다. 오류 조건 커버: 가능한 모든 오류 조건에 대한 테스트 사례를 작성합니다.
Go 언어 함수의 오류 처리에서 단위 테스트
Background
Go 언어에서 함수의 오류는 error
유형의 값을 확인하여 처리됩니다. 올바른 오류 처리를 보장하려면 단위 테스트를 수행하는 것이 중요합니다. error
类型的值来处理函数中的错误。为了确保错误处理的正确性,执行单元测试至关重要。
单元测试策略
对函数中的错误处理进行单元测试时,以下策略非常有效:
assert.Equal()
Assert 오류 메시지: assert.Equal()
와 같은 어설션 라이브러리를 사용하여 반환된 오류 메시지가 예상 오류 메시지와 일치하는지 확인하세요.
: 가능한 모든 오류 상황에 대한 테스트 사례를 작성하세요. 이렇게 하면 모든 경우에 오류 처리 논리가 예상대로 작동합니다.
실용 예
두 숫자의 합을 계산하는 다음 함수를 고려하세요.func Sum(a, b int) (int, error) { if a < 0 || b < 0 { return 0, errors.New("non-negative integers only") } return a + b, nil }
import ( "errors" "testing" ) func TestSum(t *testing.T) { tests := []struct { a, b int expected int err error }{ {a: 1, b: 2, expected: 3, err: nil}, {a: -1, b: 2, expected: 0, err: errors.New("non-negative integers only")}, } for _, tt := range tests { t.Run("test", func(t *testing.T) { sum, err := Sum(tt.a, tt.b) if sum != tt.expected { t.Errorf("Expected %d, got %d", tt.expected, sum) } if !errors.Is(err, tt.err) { t.Errorf("Expected error %q, got %q", tt.err, err) } }) } }
위 내용은 golang 함수 오류 처리의 단위 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!