답변:
TestInitialize
그리고 TestCleanup
전에 각 테스트 후,이 더 테스트가 결합되지 않도록하는 것입니다 실행된다.
모든 테스트 전후에 메소드를 실행하려면 ClassInitialize
및 ClassCleanup
속성을 사용하여 관련 메소드를 장식하십시오 .
Visual Studio에서 자동 생성 된 테스트 파일의 관련 정보 :
테스트를 작성할 때 다음과 같은 추가 속성을 사용할 수 있습니다.
// Use ClassInitialize to run code before running the first test in the class
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext) { }
// Use ClassCleanup to run code after all tests in a class have run
[ClassCleanup()]
public static void MyClassCleanup() { }
// Use TestInitialize to run code before running each test
[TestInitialize()]
public void MyTestInitialize() { }
// Use TestCleanup to run code after each test has run
[TestCleanup()]
public void MyTestCleanup() { }
Microsoft 문서 에서 가져온 전체 예 :
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SampleClassLib;
using System;
using System.Windows.Forms;
namespace TestNamespace
{
[TestClass()]
public sealed class DivideClassTest
{
[AssemblyInitialize()]
public static void AssemblyInit(TestContext context)
{
MessageBox.Show("AssemblyInit " + context.TestName);
}
[ClassInitialize()]
public static void ClassInit(TestContext context)
{
MessageBox.Show("ClassInit " + context.TestName);
}
[TestInitialize()]
public void Initialize()
{
MessageBox.Show("TestMethodInit");
}
[TestCleanup()]
public void Cleanup()
{
MessageBox.Show("TestMethodCleanup");
}
[ClassCleanup()]
public static void ClassCleanup()
{
MessageBox.Show("ClassCleanup");
}
[AssemblyCleanup()]
public static void AssemblyCleanup()
{
MessageBox.Show("AssemblyCleanup");
}
[TestMethod()]
[ExpectedException(typeof(System.DivideByZeroException))]
public void DivideMethodTest()
{
DivideClass.DivideMethod(0);
}
}
}
[TestInitialize ()] 속성으로 표시된 메소드는 단위 테스트가 실행될 환경의 측면을 준비하는 데 사용됩니다. 이것의 목적은 단위 테스트를 실행하기 위해 알려진 상태를 설정하는 것입니다. [TestInitialize ()] 메소드를 사용하여 테스트에서 사용할 특정 데이터 파일을 복사, 변경 또는 작성할 수 있습니다.
테스트가 실행 된 후 환경을 알려진 상태로 되돌리려면 [TestCleanUp {}] 속성으로 표시된 메소드를 작성하십시오. 이는 폴더에서 파일을 삭제하거나 데이터베이스를 알려진 상태로 되 돌리는 것을 의미 할 수 있습니다. 이에 대한 예는 주문 입력 애플리케이션에 사용 된 메소드를 테스트 한 후 재고 데이터베이스를 초기 상태로 재설정하는 것입니다.
자세한 내용은 다음을 참조하십시오 : http://msdn.microsoft.com/en-us/library/ms182517%28v=vs.100%29.aspx