VSCode로 코딩중인 Rust 코드를 "Run test"버튼으로 유닛 테스트 할 때 환경 변수를 적용하고 싶었다.

Run test 버튼으로 단위 테스트를 할 때 왜 오류가 발생하기 때문에 왜 가나? 라고 생각했다.
터미널에서 직접 cargo test 하는 것은 문제 없으니까 코드 때문이 아니라고.
처음 이거, 디버거의 기능이라고 착각하고 있었으므로, launch.json 왕따 돌려 고민하고 있었다.
하지만 이것, 터미널에서 cargo run 하고 있을 뿐이구나.
조금 알아차리는 데 시간이 걸렸다.
원래 터미널에서의 테스트는
$ env $(cat ../.env.sample) cargo test

그리고 환경 변수를 일시 설정한 sh 로 실행하고 있었으므로, VSCode 의 터미널 실행도 당연히 환경 변수의 설정이 필요한 것이군요.
결론으로는
$ tree .vscode
.vscode
├── launch.json
└── settings.json

여기에 settings.json 만들고 환경 변수를 설정하면 터미널을 열 때 적용됩니다.
{
    "terminal.integrated.env.linux": {
        "SET_ENV": "dev",
        "SET_DATABASE_URL": "mysql://root:[email protected]:3306/test_database01"
    }
}

이런 느낌 1 .
보고 싶어, 정상 종료했습니다.

이건 결국 Rust 하지만 crago 아니지만 VSCode 의 설정 문제였어요.
다른 언어에서도 VSCode의 터미널 실행하는 경우에 그대로 사용할 수 있다고 생각합니다.



설정하고 처음 첫번째만 "설정 파일 적용할까?"같은 것을 들어온다. "예"라고 대답해도 터미널은 이미 열려 버렸으므로 다시 실행해야합니다.

좋은 웹페이지 즐겨찾기