SQL Server 단위 테스트를 사용하여 데이터베이스 코드 확인

SQL Server 단위 테스트를 사용하여 데이터베이스에 대한 기준 상태를 설정한 다음, 데이터베이스 개체에 대한 후속 변경 내용을 확인할 수 있습니다.

데이터베이스의 기준 상태를 설정하려면 테스트 프로젝트를 만들고 데이터베이스 개체에 대해 실행되는 Transact-SQL 집합을 작성합니다. 이러한 테스트를 사용하여 격리된 개발 환경에서 해당 개체가 예상대로 작동하는지 확인할 수 있습니다. SQL Server 단위 테스트는 SQL Server 데이터베이스 프로젝트를 사용하는 오프라인 데이터베이스 개발과 함께 잘 작동합니다(자세한 내용은 프로젝트 지향 오프라인 데이터베이스 개발 참조). SQL Server 단위 테스트의 기준 집합이 있으면 이러한 테스트를 사용하여 버전 제어에 대한 변경 내용을 체크 인하기 전에 데이터베이스가 제대로 작동하는지 확인할 수 있습니다.

데이터베이스 개체의 변경 내용을 확인하는 테스트를 만들 수 있습니다. 또한 데이터베이스 함수, 트리거 및 저장 프로시저를 테스트하는 Transact-SQL 코드 스텁을 자동으로 생성할 수 있습니다.

참고 항목

SQL Server 단위 테스트는 데이터베이스 프로젝트를 열지 않고도 만들고 실행할 수 있습니다. 그러나 프로젝트에서 특정 데이터베이스 개체를 테스트하기 위해 테스트 스크립트를 자동으로 생성하려면 테스트하려는 개체가 포함된 데이터베이스 프로젝트를 열어야 합니다.

사용자 또는 사용자의 팀 멤버가 데이터베이스 스키마를 변경할 경우 이러한 테스트를 사용해서 해당 변경 내용으로 인해 기존 기능이 중단되었는지 여부를 확인할 수 있습니다. SQL Server 단위 테스트는 소프트웨어 개발자가 만드는 SQL Server 단위 테스트를 보완하기 위해 만듭니다. 애플리케이션의 전반적인 동작을 확인하려면 두 테스트 집합을 모두 완료해야 합니다.

단위 테스트를 사용하면 프로시저가 성공해야 할 때 성공하고 실패해야 할 때 실패하는지를 확인할 수 있습니다. 적절한 오류가 발생하는 테스트를 부정 테스트라고 합니다.

Visual Studio Edition의 SQL Server 단위 테스트 지원

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 데이터베이스 단위 테스트 문제 해결

프로젝트 기반 오프라인 데이터베이스 개발
데이터베이스 단위 테스트는 SQL Server 데이터베이스 프로젝트를 사용하는 오프라인 프로젝트 개발과 함께 사용할 때 특히 효과적입니다.

참고 항목

SQL Server Data Tools