VS Code의 디버그 및 테스트 연산자 SDK

Operator-SDK로 kubernetes operator를 빌드하고 환경 변수를 사용해야 하는 경우 VS Code에서 디버그 및 테스트가 어렵다는 것을 알게 될 것입니다. 디버그 및 테스트할 수 있는 방법은 많습니다.
  • make run
  • make test
  • VS 코드 디버거
  • VS 코드 CodeLens
  • go run
  • go test

  • .env 파일



    먼저 모든 환경 변수를 프로젝트 루트의 .env 파일로 중앙 집중화해야 합니다.

    다음은 .env 파일의 모양에 대한 예입니다.

    FOO_BAR=barfoo
    DEBUG_LEVEL=info
    WATCH_NAMESPACE=""
    


    유일한 주의 사항은 파일에 # 문자가 포함되어서는 안 된다는 것입니다. Makefile은 주석에 #을 사용하며 친근하게 재생되지 않습니다.

    godotenv 패키지



    다음으로 godotenv를 읽고 환경 변수를 생성하는 the .env package을 추가합니다.

    이제 main.go에서 main 함수의 시작 부분에 추가합니다.

    // Set env vars, if available.
    godotenv.Load("./.env")
    


    테스트



    동일한 접근 방식을 사용하여 다음과 같은 단위 테스트 파일에서 메서드를 만들 수 있습니다.

    func before() {
      godotenv.Load("../../.env")
    }
    


    환경 변수가 필요한 테스트를 시작할 때 before()를 호출하십시오.

    VS 코드



    VS Code CodeLens가 작동하려면 이러한 변경이 필요합니다. 이 속성을 .vscode/settings.json에 추가

    {
      "go.testEnvFile": "${workspaceFolder}/.env"
    }
    


    envFile 속성을 .vscode/launch.json

    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "FooBar",
          "type": "go",
          "request": "launch",
          "mode": "auto",
          "program": "${workspaceFolder}/main.go",
          "envFile": "${workspaceFolder}/.env",
          "args": []
        }
      ]
    }
    


    결론



    그게 다야. 이제 원하는 방식으로 디버그하고 테스트할 수 있습니다. 즐기다!

    좋은 웹페이지 즐겨찾기