SQL Server 단위 테스트를 사용하여 데이터베이스에 대한 기준 상태를 설정한 다음, 데이터베이스 개체에 대한 후속 변경 내용을 확인할 수 있습니다.
데이터베이스에 대한 기준 상태를 설정하려면 테스트 프로젝트를 만들고 데이터베이스 개체에서 작동하는 Transact-SQL 집합을 작성합니다. 이러한 테스트를 사용하여 격리된 개발 환경에서 해당 개체가 예상대로 작동하는지 확인할 수 있습니다. SQL Server 단위 테스트는 SQL Server 데이터베이스 프로젝트를 사용하여 오프라인 데이터베이스 개발과 함께 잘 작동합니다. 자세한 내용은 SQL 데이터베이스 프로젝트란 무엇인가요? SQL Server 단위 테스트의 기준 집합이 있으면 버전 제어에 대한 변경 내용을 확인하기 전에 이러한 테스트를 사용하여 데이터베이스가 제대로 작동하는지 확인할 수 있습니다.
데이터베이스 개체의 변경 내용을 확인하는 테스트를 만들 수 있습니다. 또한 데이터베이스 함수, 트리거 및 저장 프로시저를 테스트하는 Transact-SQL 코드의 스텁을 자동으로 생성할 수 있습니다.
비고
데이터베이스 프로젝트를 열지 않고 SQL Server 단위 테스트를 만들고 실행할 수 있습니다. 그러나 프로젝트에서 특정 데이터베이스 개체를 테스트하기 위해 테스트 스크립트를 자동으로 생성하려면 테스트하려는 개체가 포함된 데이터베이스 프로젝트를 열어야 합니다.
사용자 또는 팀 구성원이 데이터베이스 스키마를 변경할 때 이러한 테스트를 사용하여 변경 내용이 기존 기능을 손상했는지 확인할 수 있습니다. 소프트웨어 개발자가 만드는 소프트웨어 단위 테스트를 보완하기 위해 SQL Server 단위 테스트를 만듭니다. 애플리케이션의 전반적인 동작을 확인하려면 두 테스트 집합을 모두 완료해야 합니다.
단위 테스트는 프로시저가 성공할 것으로 예상되는 경우 성공하고 프로시저가 실패할 것으로 예상되는 경우 실패하는지 확인할 수 있습니다. 적절한 오류가 발생하는 테스트를 부정 테스트라고 합니다.
SQL Server 단위 테스트에 대한 Visual Studio 버전 지원
SQL Server Data Tools의 2012년 12월 업데이트에 추가된 SQL Server 단위 테스트 기능을 사용하면 Visual Studio 2010 Professional 및 Visual Studio 2012 Professional 이상 버전에서 SQL Server 단위 테스트를 만들고 수정하고 실행할 수 있습니다.
최신 SQL Server Data Tools 업데이트를 설치하려면 업데이트 확인 대화 상자에 액세스합니다.
Visual Studio 2010 및 Visual Studio 2012 통합 SQL Server Data Tools 셸은 SQL Server 단위 테스트를 지원하지 않습니다.
일반적인 작업
다음 표에서는 이 시나리오를 지원하는 일반적인 작업에 대한 설명과 이러한 작업을 성공적으로 완료하는 방법에 대한 자세한 정보로 연결할 수 있습니다.
| 일반적인 작업 | 지원 내용 |
|---|---|
| 실습 연습: 소개 연습을 따라 간단한 SQL Server 단위 테스트를 만들고 실행하는 방법을 숙지할 수 있습니다. 이 연습에는 부정적인 SQL Server 단위 테스트의 예가 포함되어 있습니다. | 연습: SQL Server 단위 테스트 만들기 및 실행 |
| SQL Server 단위 테스트 정의: 자체 프로젝트에서 SQL Server 단위 테스트를 만들어야 합니다. 해당 프로젝트에 대한 설정을 구성하고 각 테스트에 대해 하나 이상의 테스트 조건을 정의합니다. |
SQL Server 단위 테스트 만들기 및 정의 SQL Server 단위 테스트에서 테스트 조건 사용 |
| SQL Server 단위 테스트를 실행합니다. 하나 이상의 단위 테스트를 정의한 후에는 단위 테스트를 실행하고, 문제를 디버그하고, 테스트 결과를 검사합니다. | SQL Server 단위 테스트 실행 |
| 테스트 그룹 관리(Visual Studio 2010): 테스트를 일반적으로 동시에 실행해야 하는 경우 그룹으로 구성할 수 있습니다. 테스트 목록은 여전히 지원되지만 새 테스트 그룹의 경우 대신 테스트 범주를 고려해야 합니다. 예를 들어 트리거 또는 특정 스키마의 모든 개체에 대한 테스트 범주를 만들 수 있습니다. |
테스트를 그룹화할 테스트 범주 정의 테스트를 그룹화할 테스트 목록 정의 |
| 테스트 프로젝트 및 테스트를 버전 제어에 체크 인합니다 . 테스트를 실행하고 제대로 작동하는지 확인한 후에는 팀의 모든 구성원이 테스트를 실행할 수 있도록 테스트 프로젝트 및 모든 연결된 파일을 버전 제어에 체크 인해야 합니다. SQL Server 데이터베이스 프로젝트와 함께 테스트 프로젝트를 버전 제어로 확인하면 데이터베이스와 데이터베이스 테스트의 호환되는 버전을 쉽게 복원할 수 있습니다. |
버전 제어에 파일 추가 확인 및 보류 중인 변경 내용 창 사용 |
| 사용자 지정 테스트 조건 정의: 기본 테스트 조건 집합에서 다루지 않는 동작을 테스트해야 하는 경우 사용자 지정 테스트 조건을 만들 수 있습니다. 새 조건을 사용하는 테스트를 실행하려는 팀의 모든 구성원에게 이러한 조건을 배포해야 합니다. | 시나리오: SQL Server 단위 테스트에 대한 사용자 지정 테스트 조건 정의 |
|
기존 단위 테스트를 업데이트합니다. 이전 버전의 Visual Studio에서 만든 데이터베이스 단위 테스트가 있는 경우 이 릴리스에서 빌드하고 성공적으로 실행하기 전에 업그레이드해야 합니다. 메모: 이전 버전의 Visual Studio에서 데이터베이스 프로젝트와 데이터베이스 단위 테스트 프로젝트를 모두 포함하는 솔루션을 열면 데이터베이스 프로젝트를 업그레이드하라는 메시지가 표시됩니다. 수동으로 업그레이드해야 하는 데이터베이스 단위 테스트 프로젝트를 업그레이드하라는 메시지가 표시되지 않습니다. |
데이터베이스 단위 테스트가 포함된 이전 테스트 프로젝트 업그레이드 |
| 확장성: 기능 확장을 만들어 SQL Server Data Tools를 확장할 수 있습니다. | SQL Server 단위 테스트에 대한 사용자 지정 테스트 조건 |
| 문제 해결: SQL Server 단위 테스트의 일반적인 문제를 해결하는 방법에 대해 자세히 알아볼 수 있습니다. | SQL Server 데이터베이스 단위 테스트 문제 해결 |