VS Code에서 키보드 단축키로 rspec 테스트 실행

5687 단어 rubytestingvscode
테스트 실행은 코드 작성 프로세스의 중요한 부분이지만 동일한 명령을 반복해서 입력하면 작업 흐름이 느려질 수 있습니다.

올해 초 가상Ruby For Good 컨퍼런스에서 새로운 친구와 페어 프로그래밍을 하고 있었는데 그는 제 마음을 사로잡는 트릭을 보여줬습니다. 그는 rspec 테스트를 실행하기 위해 키보드 단축키를 사용했습니다! 그는 현재 작업 중인 테스트만 실행하는 지름길도 가지고 있었습니다.

나는 이것이 나에게 더 일찍 일어나지 않았다는 것을 믿을 수 없습니다.

최근에 새로운 일을 시작했기 때문에 VS Code에서 비슷한 키보드 단축키를 설정하기로 했습니다. 내가 한 방법은 다음과 같습니다.

사용자 작업 만들기



Tasks은 Linting, 빌드 또는 테스트와 같은 일반적인 워크플로를 자동화할 수 있는 VS Code의 기능입니다! VS Code의 대부분의 기능과 마찬가지로 고유한 작업을 빌드하고 사용자 지정할 수 있습니다.

"사용자 작업" 설정 열기


  • Cmd + Shift + P를 눌러 "모든 명령"메뉴를 엽니다.
  • "사용자 작업 열기"를 입력하고 표시되는 메뉴 항목을 선택합니다
  • .
  • 이렇게 하면 tasks.json라는 파일이 열리며 파일 형식은 다음과 같아야 합니다.

  • {
      "version": "2.0.0",
      "tasks": [ ... ] // <-- There'll be some stuff in this array
    }
    


    사용자 작업에 새 작업 추가


  • 다음 코드를 복사하여 tasks.json의 작업 배열에 붙여넣습니다.

  • {
      "version": "2.0.0",
      "tasks": [
        {
          "label": "(ruby) run all tests",
          "type": "shell",
          "command": "bundle exec rspec",
          "presentation": {
            "echo": true,
            "reveal": "always",
            "focus": true,
          }
        },
      ]
    }
    


    이 작업에는 다음 필드가 있습니다.
  • label : 작업 이름
  • type : 이 작업을 셸 명령으로 실행하도록 VS Code에 지시
  • command : 셸에서 실행할 명령(이 경우 이 프로젝트의 모든 rspec 테스트 실행)
  • presentation : 작업 출력 표시 방법을 결정하는 옵션 목록입니다. VS Code Tasks Documentation에 있는 항목에 대해 자세히 읽어보십시오.

  • 나머지 작업을 사용자 작업에 추가하십시오.



    이전 단계에서 하나의 작업을 추가했지만 원하는 만큼 추가할 수 있습니다! 세 가지 작업이 있습니다.
  • bundle exec rspec : 프로젝트의 모든 rspec 테스트 실행
  • bundle exec rspec <filename> : 파일의 모든 테스트 실행
  • bundle exec rspec <filename>:<line number> : 특정 줄 번호에서 테스트를 실행합니다
  • .

    tasks.json 파일은 다음과 같습니다.

    {
      "version": "2.0.0",
      "tasks": [
        {
          "label": "(ruby) run all tests",
          "type": "shell",
          "command": "bundle exec rspec",
          "presentation": {
            "echo": true,
            "reveal": "always",
            "focus": true,
          }
        },
        {
          "label": "(ruby) run tests",
          "type": "shell",
          "command": "bundle exec rspec ${relativeFile}",
          "presentation": {
            "echo": true,
            "reveal": "always",
            "focus": true,
          }
        },
        {
          "label": "(ruby) run current test",
          "type": "shell",
          "command": "bundle exec rspec ${relativeFile}:${lineNumber}",
          "presentation": {
            "echo": true,
            "reveal": "always",
            "focus": true,
          }
        },
      ]
    }
    


    이 두 개의 새 명령이 relativeFilelineNumber 변수를 사용한다는 것을 알 수 있습니다. 현재 열려 있는 파일의 상대 경로와 커서가 있는 줄 번호로 대체됩니다.

    이러한 변수를 사용하면 현재 열려 있는 파일의 모든 테스트 또는 현재 커서가 있는 특정 테스트를 실행할 수 있습니다!

    VS Code's Variable Reference 에서 이러한 변수에 대한 자세한 내용을 읽을 수 있습니다.

    키보드 단축키 추가



    새 사용자 작업을 추가하면 사용자 지정 바로 가기를 만들어 원할 때마다 실행할 수 있습니다.

    키보드 단축키 설정 열기


  • Cmd + Shift + P를 눌러 "모든 명령"메뉴를 엽니다.
  • "키보드 바로 가기 열기(JSON)"를 입력하고 표시되는 메뉴 항목을 선택합니다
  • .
  • 그러면 keybindings.json라는 파일이 열립니다.

  • 새 바로가기 만들기



    keybindings.json 파일은 다음과 같습니다.

    [
      {
        "key": "cmd+shift+0",
        "command": "workbench.action.tasks.runTask",
        "args": "(ruby) run all tests"
      },
      {
        "key": "cmd+shift+9",
        "command": "workbench.action.tasks.runTask",
        "args": "(ruby) run tests"
      },
      {
        "key": "cmd+shift+8",
        "command": "workbench.action.tasks.runTask",
        "args": "(ruby) run current test"
      }
    ]
    


    각 키보드 바로 가기에 대해 key 옵션은 바로 가기를 활성화하기 위해 눌러야 하는 키를 결정합니다. 저는 Cmd + Shift + 0 , Cmd + Shift + 9Cmd + Shift + 8 를 선택했지만 사용하기 편한 키 조합을 선택하고 사용하려는 기존 키보드 단축키를 방해하지 않는 것이 좋습니다.
    args 옵션을 사용하여 각 바로 가기로 실행할 작업을 지정하십시오. 이 값이 사용자 작업을 생성할 때 사용한 label와 일치하는지 확인하십시오.

    이익



    이제 사용자 지정 바로 가기 중 하나를 사용하면 VS Code가 새 터미널 탭을 열고 테스트를 실행합니다! 더 이상 긴 명령을 입력하거나 테스트가 있는 줄 번호를 정확히 기억할 필요가 없습니다.

    덕분에 지난 몇 주 동안 많은 시간을 절약할 수 있었고 여러분도 시간을 절약할 수 있기를 바랍니다!

    좋은 웹페이지 즐겨찾기