Go 바이너리에서 코드 적용 범위 캡처
질문:
코드 적용 범위 측정항목을 어떻게 작성할 수 있나요? Go 바이너리에 대해 통합 테스트를 실행할 때 캡처됩니까?
답변:
기본 Go 적용 범위 도구는 단위 테스트에서만 작동하지만 여전히 적용 범위를 수집할 수 있습니다. 통합 테스트용 데이터.
해결책:
이를 달성하려면:
다음을 실행하는 테스트 파일을 생성합니다. main() 함수:
<code class="go">func TestMainApp(t *testing.T) { go main() // Start integration tests }</code>
main() 테스트 내에서 통합 테스트를 실행합니다.
<code class="go">cmd := exec.Command("./mybin", "somefile1") cmd.Run()</code>
보도 통계 수집:
<code class="go">coverProfile := "coverage.out" test.RunMain() if err := testing.StartCoverage(coverProfile); err != nil { log.Fatalf("Coverage: %v", err) } defer testing.StopCoverage(coverProfile)</code>
보도 보고서 생성:
<code class="go">if err := testing.RunTests(); err != nil { log.Fatalf("Coverage: %v", err) } cmd := exec.Command("go", "tool", "cover", "-html=coverage.out") cmd.Run()</code>
추가 참고:
위 내용은 Go 바이너리용 통합 테스트에서 코드 적용 범위를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!