Visual Studio 단위 테스트 : 설정 및 해체


90

Nunit의 [SetUp] 및 [TearDown] 대신 Visual Studio Ultimate 2010 단위 테스트의 대안은 무엇입니까? Nunit에서는 설정 및 분해 방법이 우리 클래스의 테스트를위한 생성자 및 소멸 자라고 상상할 수 있습니다.



답변:


143

주석이 달린 메소드 [TestInitialize]는 각 테스트 전에 실행됩니다. 마찬가지로 [TestCleanup]각 테스트 후입니다.

[ClassInitialize]그리고 [ClassCleanup]이전과 TestClass에 내부 테스트의 '스위트'후 실행됩니다.


6
ClassInitialize 메서드가 TestContext를 인수로 사용한다고 추가 할 수 있습니다.
boutta 2014 년

4
그리고 그것은 또한 공공 정적이어야한다
샬롬 Aleichem

4

Visual Studio는 Microsoft의 단위 테스트 프레임 워크 인 MSTest를 사용하며 NUnit과 유사합니다. 사실 대부분의 개념은 비슷하지만 구문은 다릅니다.

비교를보기 위해 xUnit (다른 단위 테스트 프레임 워크)의 작성자는 여기에 목록이 있습니다.

http://xunit.github.io/docs/comparisons.html

더 구체적으로 요청한 TestInitialize것은 MSTest가 NUnit Setup과 동일하며 TestCleanupTearDown.

한 가지 주목할 점은 자동화 된 단위 테스트 또는 일종의 지속적인 통합을 시도하는 경우 NUnit에 머물 것입니다. *unitMSTest보다 다양한 프레임 워크가 선호 되는 주된 이유 는 테스트를 실행하는 컴퓨터에 Visual Studio의 복사본 이 있어야 하기 때문 입니다. 자신의 로컬 컴퓨터에는 적합하고 CI 서버에는 다른 이야기입니다. Visual Studio는 프로그램의 돼지이며 서버 (일반적으로 가능한 한 가볍고 빠르다고 가정 함)에 설치하는 것은 테스트를 실행하는 데 약간 성가신 일입니다.


7
CI 서버에 TFS Team Test Agent를 간단히 설치 (구성하지 않음)하여 테스트 실행기를 설치할 수 있습니다 ( microsoft.com/en-us/download/details.aspx?id=1334 ). Generic, Ordered, CodedUI 또는 성능 테스트를 원하지 않는 한 전체 Visual Studio 설치가 필요하지 않습니다.
jessehouwing

1
Team Build 2012는 빌드 서버에 Visual Studio를 설치할 필요없이 기본적으로 다른 테스트 실행기에 대한 지원을 설치합니다.
jessehouwing
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.