비테스트 파일에서 테스트 함수 호출
Go에서 테스트는 특정 규칙과 방법론에 의존합니다. 이러한 규칙 중 하나는 테스트를 "_test.go" 접미사로 끝나야 하는 자체 테스트 파일로 분리해야 한다는 것입니다.
비테스트 파일에서 테스트 함수를 호출할 수 있습니까?
짧은 대답: 아니요.
귀하의 질문과 달리 테스트 함수는 테스트가 아닌 Go 파일에서 직접 호출할 수 없습니다. 이러한 분리를 통해 테스트는 테스트 중인 코드와 구별되고 독립적으로 유지됩니다.
Go에서 패턴 테스트
Go는 주로 두 가지 유형의 단위 테스트를 사용합니다.
예
내보낸 "Sum"이 있는 다음 "예제" 패키지를 고려하세요. 함수 및 내보내지 않은 "추가" 함수:
package example func Sum(nums ...int) int { sum := 0 for _, num := range nums { sum = add(sum, num) } return sum } func add(a, b int) int { return a + b }
블랙박스 테스트(example_test.go):
package example_test import ( "testing" "example" ) func TestSum(t *testing.T) { tests := []struct { nums []int sum int }{ {nums: []int{1, 2, 3}, sum: 6}, {nums: []int{2, 3, 4}, sum: 9}, } for _, test := range tests { s := example.Sum(test.nums...) if s != test.sum { t.FailNow() } } }
화이트박스 테스트 (example_internal_test.go):
package example_test import "testing" func TestAdd(t *testing.T) { tests := []struct { a int b int sum int }{ {a: 1, b: 2, sum: 3}, {a: 3, b: 4, sum: 7}, } for _, test := range tests { s := add(test.a, test.b) if s != test.sum { t.FailNow() } } }
결론적으로 테스트 파일이 아닌 파일에서 테스트 함수를 호출하는 것은 Go 테스트 원칙에 위배됩니다. 단위 테스트 목적으로 별도의 테스트 패키지를 사용해야 하며 확립된 작업 흐름과 규칙을 준수해야 합니다.
위 내용은 테스트되지 않은 파일에서 Go 테스트 함수를 호출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!