Exercism에서 Visual Basic 연습 문제를 테스트하는 방법을 배워요
내려받은 연습 문제에는 해결책을 만들고 테스트하는 데 필요한 다음 파일들이 포함돼요:
hello-world/
├── HelloWorld.vb # Your solution
├── HelloWorldTests.vb # The test suite
├── HelloWorld.vbproj # Project and build configuration
└── packages.lock.json # Resolved project dependencies
파일 이름은 연습 문제마다 달라요.
첫 번째 .vb 파일에 해결책을 작성해요.
Tests.vb로 끝나는 두 번째 파일은 [xUnit 테스트 스위트][xunit]예요.
보통은 뒤에 나오는 테스트의 건너뛰기를 해제할 때만 이 파일을 수정하게 돼요.
마지막 두 파일은 수정할 필요가 없어요.
.vbproj 파일에는 프로젝트의 빌드 설정과 직접 참조하는 패키지 정보가 들어 있어요.
생성된 packages.lock.json 파일에는 확인된 직접 및 전이 패키지 버전이 기록돼요.
테스트는 통과하는 해결책이 만족해야 하는 동작을 설명해요. 테스트는 지시문에서 다루지 않은 세부 사항을 명확히 하는 데 도움이 돼요.
연습 문제 디렉터리에서 터미널을 열고 다음을 실행해요:
dotnet test
이 명령어는 프로젝트의 종속성을 복원하고, 프로젝트를 빌드하고, 테스트를 실행해요.
dotnet watch test를 사용하면 소스 파일이 변경될 때마다 테스트를 다시 실행할 수 있어요.
연습 문제는 처음에 첫 번째 테스트만 활성화되어 있어서, 나머지는 한 번에 하나씩 차근차근 풀 수 있어요.
테스트를 찾으려면 Tests.vb로 끝나는 파일을 열어요.
각 테스트는 xUnit <Fact> 특성으로 표시된 Sub 서브루틴이에요.
테스트의 <Fact> 특성에 Skip 인수가 있는 한 그 테스트는 건너뛰어져요:
<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub Lowercase_words()
Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub
테스트를 활성화하려면 Skip 인수를 제거하기만 하면 돼요:
<Fact>
Public Sub Lowercase_words()
Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub
새로 활성화한 테스트가 통과하면, 다음으로 건너뛴 테스트에 같은 과정을 반복해요. 모든 테스트가 활성화되고 통과하면 끝난 거예요.