비주얼 스튜디오에서 단위 테스트 간소화하기: 서로 다른 폴더 및 프로젝트에서 테스트 실행 가이드
단위 테스트는 현대 소프트웨어 개발의 필수 요소로, 개별 구성 요소가 더 큰 시스템에 통합되기 전에 의도한 대로 작동하는지 확인합니다. 비주얼 스튜디오와 같은 환경에서 단위 테스트와 통합 테스트를 위한 별도의 프로젝트를 만드는 것이 일반적입니다. 이러한 구조는 특정 폴더나 프로젝트에서 테스트를 빠르게 실행하고자 할 때 테스트 실행을 복잡하게 만들 수 있습니다. 이 포스트에서는 프로젝트의 폴더 구조에 따라 단위 테스트를 실행하는 방법을 안내하고, 키보드 단축키와 매크로를 사용하여 프로세스를 더욱 효율적으로 만드는 방법을 알아보겠습니다.
도전 과제
많은 개발자들이 비주얼 스튜디오 솔루션을 단위 테스트와 통합 테스트를 위한 분리된 프로젝트로 구성합니다. 이로 인해 테스트 실행을 관리하기 위한 명확한 전략이 필요하게 됩니다. 예를 들어:
- 단위 테스트를 자주 실행.
- 특정 상황에서만 통합 테스트 실행.
당신의 목표는 매번 메뉴를 탐색하지 않고도 다양한 프로젝트에서 테스트를 실행하기 위해 키보드 단축키를 구성하는 것일 수 있습니다. 예를 들면, 다음과 같은 기능을 원할 것입니다:
- Alt+1: BLL.Test 프로젝트에서 테스트 실행.
- Alt+2: DAL.Tests 프로젝트에서 테스트 실행.
- Alt+3: [Tests] 폴더의 모든 테스트 실행.
- Alt+4: [Tests.Integration] 폴더에서 테스트 실행.
다행히도 비주얼 스튜디오에서 이 프로세스를 간소화할 수 있는 방법이 있습니다.
매크로를 이용한 실용적인 해결책
비주얼 스튜디오에서 특정 프로젝트나 폴더에서 테스트를 실행할 수 있는 간단한 키보드 명령을 사용하여 매크로를 생성할 수 있습니다. 설정 방법은 다음과 같습니다:
매크로 생성에 대한 단계별 안내
-
비주얼 스튜디오 열기: 비주얼 스튜디오 환경을 실행합니다.
-
임시 매크로 만들기:
- 메뉴로 이동:
도구 > 매크로 > 임시 매크로 기록 시작
. - 이것으로 당신의 행동을 기록하기 시작합니다.
- 메뉴로 이동:
-
테스트 폴더 선택:
- 솔루션 탐색기에서 [Tests] 폴더 (또는 원하는 테스트 폴더)를 선택합니다.
-
테스트 실행:
- ReSharper를 사용하여 테스트 실행 명령을 실행합니다:
ReSharper.UnitTest.ContextRun
.
- ReSharper를 사용하여 테스트 실행 명령을 실행합니다:
-
녹음 중지:
- 완료되면
도구 > 매크로
로 돌아가서 녹음을 중지합니다.
- 완료되면
-
매크로 수정:
- 기록한 매크로는
도구 > 매크로 > 내 매크로
에서 찾을 수 있습니다. - 필요에 맞게 수정합니다 (특정 테스트 폴더를 실행하는 코드가 있는 것을 볼 수 있습니다).
- 기록한 매크로는
기록된 매크로의 예
다음은 특정 프로젝트 구조에 맞게 조정할 수 있는 매크로 샘플 코드입니다:
Sub TemporaryMacro()
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate
DTE.ActiveWindow.Object.GetItem("TestUnitTest\Tests").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("ReSharper.UnitTest_ContextRun")
End Sub
- 매크로를 키보드 단축키에 바인딩:
도구 > 옵션 > 환경 > 키보드
로 이동합니다.- 목록에서 매크로를 찾아 키보드 단축키를 할당합니다.
구성 파일을 통한 보다 일반화된 접근법
위의 방법이 테스트를 실행하는 데 좋은 솔루션을 제공하지만, 더 확장 가능한 접근 방식도 고려할 수 있습니다. XML 파일을 통해 실행할 프로젝트, 폴더 또는 클래스를 구성할 수 있다고 상상해 보십시오. 이는:
- 버전 관리를 용이하게 합니다.
- 팀의 모든 사람이 동일한 테스트 실행 프로세스를 따르도록 보장합니다.
XML 구성 사용의 이점
- 일관성: 모든 개발자가 동일한 구성을 공유할 수 있습니다.
- 유연성: 코드를 변경하지 않고 테스트 대상을 쉽게 수정할 수 있습니다.
- 단순성: 팀의 비 개발자가 VS IDE에 참여하지 않고도 테스트 설정을 추가하거나 수정할 수 있습니다.
결론적으로, 비주얼 스튜디오 내에서 매크로를 활용하고 잠재적으로 구성 파일을 통합함으로써 개발 워크플로우를 크게 향상시킬 수 있습니다. 이 시스템은 시간을 절약할 뿐만 아니라 팀이 테스트 실행을 손쉽게 관리할 수 있도록 보장합니다. 이제 특정 테스트를 키보드 단축키만으로 실행할 수 있기 때문에 코드 작성을 더 많이 하고 IDE 탐색은 덜 할 수 있습니다.