다음을 통해 공유


데이터 기반 단위 테스트 코딩

업데이트: 2007년 11월

단위 테스트는 데이터 기반 단위 테스트에 필요한 특성을 가지고 있는 경우 데이터 기반 테스트로 작동합니다. 속성 창을 사용하거나 테스트 코드에 특성을 직접 추가하여 이러한 특성 및 해당 값을 할당할 수 있습니다.

단위 테스트의 속성을 편집하여 데이터 기반으로 구성하는 방법에 대한 자세한 내용은 방법: 데이터 기반 단위 테스트 구성을 참조하십시오.

이 항목에서는 DataSource 특성 및 TestContext 클래스를 사용하여 단위 테스트를 데이터 기반 단위 테스트로 코딩하는 방법을 보여 줍니다.

데이터 소스의 데이터 사용

데이터 기반 단위 테스트가 실행되면 데이터 소스의 행에서 데이터가 검색됩니다. 그러면 TestContext 클래스의 DataRow 및 DataConnection 속성을 통해 실행 중인 단위 테스트에서 해당 데이터를 사용할 수 있습니다.

다음 예제에서 DataRow()는 DataRow 형식이고, LastName은 현재 데이터 기반 테스트의 반복과 연결된 행의 유효한 열 이름입니다.

TestContext.DataRow["LastName"]

LastName은 이름을 기준으로 열을 참조하지만 사용자는 열 번호를 기준으로 열을 참조할 수도 있습니다.

테이블의 각 행에 대해 액세스할 수 있는 열 수는 제한되지 않습니다. 예를 들어, 한 번에 여러 데이터 열을 검색하여 계산에 사용한 다음 그 결과를 예상 반환 값이 포함된 최종 열과 비교할 수 있습니다.

데이터 기반 단위 테스트 코딩

데이터 기반 단위 테스트를 만들려면 직접 만든 단위 테스트를 사용하거나 생성된 단위 테스트를 사용합니다. 자세한 내용은 방법: 단위 테스트 작성방법: 단위 테스트 생성을 참조하십시오.

기존 단위 테스트를 구성하려면 사용할 데이터 소스, 해당 데이터에 액세스하는 방법, 사용자 테스트에서 해당 행을 입력으로 사용할 테이블 등을 정의하는 특성을 추가합니다. 이러한 특성 구성에 대한 자세한 내용은 방법: 데이터 기반 단위 테스트 구성을 참조하십시오.

예를 들어, 다음 코드는 Northwind 데이터베이스의 데이터를 사용하는 데이터 기반 단위 테스트에서 가져온 것입니다.

namespace TestProject1
{
    [TestClass]
    public class TestClass
    {
        private TestContext m_testContext;
        public TestContext TestContext
        {
            get { return m_testContext; }
            set { m_testContext = value; }
        }
        [TestMethod]
        [DeploymentItem("FPNWIND.MDB")]
        [DataSource("System.Data.OleDb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"FPNWIND.MDB\"", "Employees", DataAccessMethod.Sequential)]
        public void TestMethod()
        {
            Console.WriteLine( "EmployeeID: {0}, LastName: {1}", TestContext.DataRow["EmployeeID"],  TestContext.DataRow["LastName"] );
        }
    }
}

이 예제의 테스트 메서드에 있는 코드는 데이터 소스의 "Employees" 테이블에 있는 LastName 및 EmployeeID 열 값을 사용합니다. 테스트 메서드는 메서드를 포함하는 테스트 클래스에서 정의되는 TestContext 속성을 통해 이러한 값에 액세스합니다.

참고 항목

작업

방법: 단위 테스트 작성

방법: 데이터 기반 단위 테스트 구성

개념

단위 테스트의 구조

참조

DataSourceAttribute

TryUrlRedirection

기타 리소스

방법: 단위 테스트 생성

데이터 기반 단위 테스트 개요