단위 테스트에서 Microsoft.VisualStudio.TestTools.UnitTesting 멤버 사용Using Microsoft.VisualStudio.TestTools.UnitTesting Members in Unit Tests

단위 테스트 프레임워크는 Visual StudioVisual Studio의 단위 테스트를 지원합니다.The Unit Testing Framework supports unit testing in Visual StudioVisual Studio. 단위 테스트를 코딩할 때는 <Microsoft.VisualStudio.TestPlatform.UnitTestFramework> 네임스페이스의 클래스와 멤버를 사용합니다.Use the classes and members in the Microsoft.VisualStudio.TestPlatform.UnitTestFramework> namespace when you are coding unit tests. 단위 테스트를 처음부터 작성했거나 테스트 중인 코드에서 생성된 단위 테스트를 다시 정의하는 경우 이러한 클래스와 멤버를 사용할 수 있습니다.You can use them when you have written the unit test from scratch or are refining a unit test that was generated from code you are testing.

요소 그룹Groups of Elements

단위 테스트 프레임워크의 개요를 보다 명확하게 제공하기 위해 이 섹션에서는 UnitTesting 네임스페이스의 요소가 관련 기능의 그룹으로 구성되어 있습니다.To help provide a clearer overview of the Unit Testing Framework, this section organizes the elements of the UnitTesting namespace into groups of related functionality.

참고

해당 이름이 Attribute 문자열로 끝나는 특성 요소는 Attribute 문자열을 포함하거나 포함하지 않고 사용할 수 있습니다.Attribute elements, whose names conclude with the string Attribute, can be used either with or without the string Attribute. 예를 들어 다음 두 코드 예제는 동일하게 작동합니다.For example, the following two code examples function identically:

[TestClass()]

[TestClassAttribute()]

데이터 기반 테스트를 위해 사용되는 요소Elements Used for Data-Driven Testing

다음 요소를 사용하여 데이터 기반 단위 테스트를 설정합니다.Use the following elements to set up data-driven unit tests. 자세한 내용은 방법: 데이터 기반 단위 테스트 만들기연습: 구성 파일을 사용하여 데이터 소스 정의를 참조하세요.For more information, see How To: Create a Data-Driven Unit Test and Walkthrough: Using a Configuration File to Define a Data Source.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataAccessMethodMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataAccessMethod

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElementMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElement

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElementCollectionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DataSourceElementCollection

호출 순서를 설정하는 데 사용되는 특성Attributes Used to Establish a Calling Order

다음 특성 중 하나를 사용하여 데코레이팅도니 코드 요소는 지정하는 즉시 호출됩니다.A code element decorated with one of the following attributes is called at the moment you specify. 자세한 내용은 단위 테스트 분석을 참조하세요.For more information, see Anatomy of a Unit Test.

어셈블리For Assemblies

AssemblyInitialize 및 AssemblyCleanup은 어셈블리를 로드한 직후와 어셈블리를 언로드하기 직전에 호출됩니다.AssemblyInitialize and AssemblyCleanup are called right after your assembly is loaded and right before your assembly is unloaded.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyInitializeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyInitializeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyCleanupAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssemblyCleanupAttribute

클래스For Classes

ClassInitialize 및 ClassCleanup은 클래스를 로드한 직후와 클래스를 언로드하기 직전에 호출됩니다.ClassInitialize and ClassCleanup are called right after your class is loaded and right before your class is unloaded.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.ClassInitializeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.ClassInitializeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.ClassCleanupAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.ClassCleanupAttribute

테스트 메서드For Test Methods

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestInitializeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestInitializeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestCleanupAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestCleanupAttribute

테스트 클래스 및 메서드를 식별하는 데 사용되는 특성Attributes Used to Identify Test Classes and Methods

모든 테스트 클래스에는 TestClass 특성이 있어야 하며 모든 테스트 메서드에는 TestMethod 특성이 있어야 합니다.Every test class must have the TestClass attribute, and every test method must have the TestMethod attribute. 자세한 내용은 단위 테스트 분석을 참조하세요.For more information, see Anatomy of a Unit Test.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestClassAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestClassAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestMethodAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestMethodAttribute

단위 테스트에서는 다양한 종류의 Assert 문, 예외 및 특성을 사용하여 특정 응용 프로그램 동작을 확인할 수 있습니다.Unit tests can verify specific application behavior by their use of various kinds of Assert statements, exceptions, and attributes. 자세한 내용은 Assert 클래스 사용을 참조하세요.For more information, see Using the Assert Classes.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.Assert

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.CollectionAssertMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.CollectionAssert

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.StringAssertMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.StringAssert

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertFailedExceptionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssertFailedException

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertInconclusiveExceptionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.AssertInconclusiveException

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.UnitTestAssertExceptionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.UnitTestAssertException

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.ExpectedExceptionAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.ExpectedExceptionAttribute

TestContext 클래스The TestContext Class

다음 특성 및 해당 특성에 할당된 값은 특정 테스트 메서드에 대해 Visual StudioVisual Studio 속성 창에 표시됩니다.The following attributes and the values assigned to them appear in the Visual StudioVisual Studio Properties window for a particular test method. 이러한 특성은 단위 테스트의 코드를 통해 액세스할 수 없습니다.These attributes are not meant to be accessed through the code of the unit test. 대신 개발자가 Visual StudioVisual Studio의 IDE를 통해, 또는 Visual StudioVisual Studio 테스트 엔진이 단위 테스트를 사용하거나 실행하는 방식에 영향을 줍니다. 예를 들어 이러한 특성 중 일부는 테스트 관리자 창과 테스트 결과 창에 열로 표시됩니다. 즉, 이러한 특성을 사용하여 테스트 및 테스트 결과를 그룹화하고 정렬할 수 있습니다.Instead, they affect the ways the unit test is used or run, either by you through the IDE of Visual StudioVisual Studio, or by the Visual StudioVisual Studio test engine.For example, some of these attributes appear as columns in the Test Manager window and Test Results window, which means that you can use them to group and sort tests and test results. 이러한 특성 중 하나로 단위 테스트에 임의의 메타데이터를 추가하는 데 사용하는 TestPropertyAttribute가 있습니다.One such attribute is TestPropertyAttribute, which you use to add arbitrary metadata to unit tests. 예를 들어 이 특성을 사용하면 단위 테스트를 [TestProperty("TestPass", "Accessibility")]로 표시하여 이 테스트에 포함되는 테스트 합격의 이름을 저장할 수 있습니다.For example, you could use it to store the name of a test pass that this test covers, by marking the unit test with [TestProperty("TestPass", "Accessibility")]. 또는 테스트의 종류를 나타내는 표시기([TestProperty("TestKind", "Localization")])를 저장하는 데 이 특성을 사용할 수도 있습니다.Or you could use it to store an indicator of the kind of test it is: [TestProperty("TestKind", "Localization")]. 이 특성을 사용하여 만드는 속성과 할당하는 속성 값은 둘 다 Visual StudioVisual Studio 속성 창에서 테스트 특정이라는 제목 아래에 표시됩니다.The property you create by using this attribute, and the property value you assign, are both displayed in the Visual StudioVisual Studio Properties window under the heading Test specific.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.OwnerAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.OwnerAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DeploymentItemAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DeploymentItemAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.DescriptionAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.DescriptionAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.HostTypeAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.HostTypeAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.IgnoreAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.IgnoreAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.PriorityAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.PriorityAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestPropertyAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestPropertyAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.WorkItemAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.WorkItemAttribute

테스트 구성 클래스Test Configuration Classes

  • Microsoft.TeamFoundation.TestManagement.Client.ObjectTypes>Microsoft.TeamFoundation.TestManagement.Client.ObjectTypes>

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestConfigurationSectionMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.TestConfigurationSection

보고서 생성에 사용되는 특성Attributes Used for Generating Reports

이 섹션의 특성은 데코레이팅하는 테스트 메서드와 Team Foundation ServerTeam Foundation Server 팀 프로젝트의 프로젝트 계층 구조 내 엔터티 간의 관계를 설정합니다.The attributes in this section relate the test method that they decorate to entities in the project hierarchy of a Team Foundation ServerTeam Foundation Server team project.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.CssIterationAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.CssIterationAttribute

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.CssProjectStructureAttributeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.CssProjectStructureAttribute

전용 접근자와 함께 사용되는 클래스Classes Used with Private Accessors

publicize를 사용하여 전용 접근자 만들기에서 설명하는 것처럼 전용 메서드에 대한 단위 테스트를 생성할 수 있습니다.As described in Using Publicize to Create a Private Accessor, you can generate a unit test for a private method. 이러한 단위 테스트 생성에서는 PrivateObject 클래스의 개체를 인스턴스화하는 전용 접근자 클래스가 만들어집니다.This generation creates a private accessor class, which instantiates an object of the PrivateObject class. PrivateObject 클래스는 전용 접근자 프로세스의 일부분으로 리플렉션을 사용하는 래퍼 클래스입니다.The PrivateObject class is a wrapper class that uses reflection as part of the private accessor process. PrivateType 클래스도 이와 유사하지만 전용 인스턴스 메서드를 호출하는 대신 전용 정적 메서드를 호출하는 데 사용됩니다.The PrivateType class is similar, but is used for calling private static methods instead of calling private instance methods.

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateObjectMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateObject

  • Microsoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateTypeMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.PrivateType

참고 항목See Also

Microsoft.VisualStudio.TestPlatform.UnitTestFrameworkMicrosoft.VisualStudio.TestPlatform.UnitTestFramework