>  기사  >  백엔드 개발  >  VS Code에서 플래그를 사용하여 단위 테스트를 실행하고 디버그하는 방법은 무엇입니까?

VS Code에서 플래그를 사용하여 단위 테스트를 실행하고 디버그하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-27 17:37:31491검색

How to Run and Debug Unit Tests with Flags in VS Code?

VS Code에서 플래그를 사용하여 단위 테스트 실행 및 디버깅

VS Code에서 플래그를 사용하여 단위 테스트를 실행하려면 go를 수정하면 됩니다. vscode settings.json 파일의 testFlags 값입니다. 그러나 여기서 발생하는 문제는 테스트 실행 및 디버깅에 필요한 다른 구성입니다.

테스트 실행

필수 플래그로 테스트를 실행하려면 다음 구성을 수행할 수 있습니다. 사용:

<code class="json">"go.testFlags": [
    "-ldflags",
    "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn"
]</code>

디버깅 테스트

디버깅 테스트의 경우 구성에서 플래그 주위에 작은따옴표를 포함해야 합니다.

<code class="json">"go.testFlags": [
    "-ldflags",
    "'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'"
]</code>

결합 구성

구성 간 전환을 방지하려면 다음 결합 구성을 시도해 볼 수 있습니다.

<code class="json">"go.testFlags": [
    "-ldflags",
    "'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'",
    "-ldflags",
    "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn&quot;"  
]</code>

디버깅을 위해 Dlv 사용

또는 dlv를 사용하여 테스트를 디버깅할 수 있습니다. 최적화가 비활성화된 테스트 바이너리를 컴파일하려면:

go test -c -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -gcflags="all=-N -l"

헤드리스 dlv 세션 시작:

dlv exec ./foo.test --headless --listen=:2345 --log --api-version=2 -- -count=1 -- $(pwd)/some/path

launch.json 파일을 생성하여 VS Code를 dlv 세션에 연결:

<code class="json">{
    ...
    "configurations": [
        {
            "name": "Debug Test",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "port": 2345,
            "host": "127.0.0.1",
            "showLog": true,
            "trace": "log"
        }
    ]
}</code>

위 내용은 VS Code에서 플래그를 사용하여 단위 테스트를 실행하고 디버그하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.