방법: 데이터베이스 개체 디버그
SQL Server 단위 테스트는 다음으로 구성됩니다.
Visual C# 또는 Visual Basic으로 작성된 단위 테스트 코드. SQL Server 단위 테스트 디자이너에서 생성되는 이 코드는 테스트 본문을 구성하는 Transact-SQL 스크립트를 전송하는 역할을 합니다.
Visual C# 또는 Visual Basic으로 작성된 하나 이상의 테스트 조건. 테스트 조건을 디버그하려면 방법: 테스트 실행 중 디버그(Visual Studio 2010) 또는 방법: 테스트 실행 중 디버그(Visual Studio 2012)에 설명된 대로 단위 테스트 디버깅 절차를 따릅니다.
테스트할 데이터베이스의 개체에서 실행되는 하나 이상의 Transact-SQL 스크립트. 이러한 Transact-SQL 스크립트는 디버그할 수 없습니다.
이 항목의 절차에서는 테스트 중인 데이터베이스의 저장 프로시저, 함수, 트리거와 같은 특정 데이터베이스 개체를 디버그하는 방법을 설명합니다. 데이터베이스 개체를 디버그하려면 다음 순서대로 다음 절차를 수행합니다.
테스트 프로젝트에서 SQL Server 디버깅을 사용하도록 설정합니다.
테스트할 데이터베이스를 호스트하는 SQL Server 인스턴스에서 애플리케이션 디버깅을 사용하도록 설정합니다.
디버그할 데이터베이스 개체의 Transact-SQL 스크립트에 중단점을 설정합니다.
단위 테스트를 디버그합니다. 이 절차에서는 디버그 모드에서 테스트를 실행합니다.
테스트 프로젝트에서 SQL 디버깅 사용
솔루션 탐색기를 엽니다.
솔루션 탐색기에서 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
테스트 프로젝트와 이름이 같은 속성 페이지가 열립니다.
속성 페이지에서 디버그를 클릭합니다.
디버거 사용에서 SQL Server 디버깅 사용을 클릭합니다.
변경 내용을 저장합니다.
테스트 프로젝트에 디버깅을 사용하도록 실행 컨텍스트 시간 제한을 늘려서 설정
파일 메뉴에서 열기를 가리킨 다음 파일을 클릭합니다.
테스트 프로젝트가 포함된 폴더로 이동하고 app.config 파일을 두 번 클릭합니다.
app.config 파일이 편집기에서 열립니다.
다음 예제와 같이 ExecutionContext 노드를 수정하여 명령 시간 제한을 추가합니다.
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
변경 내용을 저장합니다.
단위 테스트 프로젝트를 다시 빌드합니다.
Important
프로젝트를 다시 빌드하지 않으면 단위 테스트를 실행할 때 app.config에 적용된 변경 내용이 적용되지 않으며 디버깅이 실패합니다.
Transact-SQL 스크립트에 중단점을 추가하려면
보기 메뉴에서 SQL Server 개체 탐색기를 엽니다.
데이터 연결에서 테스트할 데이터베이스의 노드를 확장합니다.
데이터베이스 아이콘 옆에 작은 빨간색 'x'가 나타나면 데이터베이스에 대한 연결이 닫힙니다. 이 경우 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 새로 고침을 클릭합니다. 데이터베이스에 대한 연결을 열기 위해 자격 증명을 제공해야 할 수 있습니다.
뷰, 저장 프로시저 또는 함수 노드를 확장하여 디버그할 개체를 찾습니다.
디버그할 개체를 두 번 클릭합니다.
회색 사이드바를 클릭하여 중단점을 설정합니다.
SQL Server 단위 테스트를 디버그하려면
Visual Studio 2010에서 (테스트 -> 창) 테스트 뷰 창을 엽니다. Visual Studio 2012에서 테스트 탐색기 창을 엽니다.
중단점을 설정할 데이터베이스 개체를 실행하는 Transact-SQL 스크립트가 있는 테스트를 마우스 오른쪽 단추로 클릭하고 선택 항목 디버그를 선택합니다.
테스트는 데이터베이스 개체의 중단점이 발견될 때까지 디버그 모드에서 실행됩니다.
(옵션) 다른 디버그 창을 열려면 디버그 메뉴를 열고 창을 가리킨 후 중단점, 출력 또는 직접 실행을 클릭합니다.