Swift 매개변수화 테스트 노트

Swift 매개변수화 테스트

애플이 WWDC24에서 @Test 매크로의 arguments 매개 변수를 사용하여 테스트 함수에 인수를 전달할 수 있는 Swift Testing을 소개했습니다. 이 기능은 매개 변수화된 테스트를 가능하게 합니다. 매개 변수화된 테스트에서는 각 값마다 arguments 컬렉션에서 테스트 함수가 한 번 호출됩니다. Test Navigator에는 각 테스트 실행 결과가 표시됩니다. 인수가 두 개 전달되면 Swift Testing은 두 인수의 모든 조합에 대한 테스트 케이스를 생성합니다. 그러나 인수는 최대 두 개로 제한되며 모든 조합이 필요하지 않은 경우 인수를 zip하여 짝을 지을 수 있습니다. 이 기능은 동일한 결과가 예상되는 입력 인수 컬렉션을 테스트할 때 유용합니다. 특히 CaseIterable 열거형을 사용하여 테스트를 구동할 때 특히 편리할 수 있습니다. 저자는 이 기능을 XCTest 기반 유닛 테스트를 Swift Testing으로 마이그레이션할 때 유용하게 사용할 수 있었는데, 특히 Core Data 관리 객체 클래스의 속성을 확인할 때 그렇습니다. Swift Testing 접근 방식은 병렬로 실행될 수 있는 독립적인 테스트 케이스와 더 명확한 실패 보고를 포함하여 for 루프를 사용하는 것보다 여러 가지 이점이 있습니다. 전반적으로 Swift Testing에서의 매개 변수화된 테스트는 테스트를 단순화하고 결합할 수 있으므로 실제로 유용한 기능입니다.