Visual Studio Birim Testi: Kurulum ve TearDown


91

Nunit'te [SetUp] ve [TearDown] yerine Visual Studio Ultimate 2010 Unit Testing'deki alternatif nedir. Nunit'te, kurulum ve sökme yöntemlerinin sınıfımızdaki testler için kurucular ve yıkıcılar olduğunu hayal edebilirsiniz.



Yanıtlar:


144

[TestInitialize]Her testten önce ile açıklanmış bir yöntem çalıştırılır. Aynı şekilde [TestCleanup]her testten sonra.

[ClassInitialize]ve [ClassCleanup]TestClass içindeki testlerin 'grubu'ndan önce ve sonra çalıştırılır.


6
ClassInitialize yönteminin bağımsız değişken olarak bir TestContext aldığını eklemiş olabilirsiniz.
boutta

4
Ayrıca kamusal statik olmalı
Shalom Aleichem

4

Visual Studio, Microsoft'un birim testi çerçevesi olan MSTest'i kullanır, NUnit'e benzer. Aslında, çoğu kavram olarak benzer, ancak farklı sözdizimi.

Karşılaştırmayı görüntülemek için, xUnit'in (başka bir birim test çerçevesi) yaratıcılarının burada bir listesi var:

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

Daha spesifik olarak ne için sorulan, TestInitializemstest en NUnit en eşdeğerdir Setupve aynı TestCleanupve TearDown.

Unutulmaması gereken bir şey, otomatik birim testi veya bir tür sürekli entegrasyon yapmaya çalışıyorsanız, NUnit ile kalacağım. Çeşitli *unitçerçevelerin MSTest'e tercih edilmesinin ana nedeni , testleri çalıştırdığınız makinede Visual Studio'nun bir kopyasına sahip olmanız gerektiğidir . Kendi yerel makineniz için iyi, bir CI sunucusu için farklı bir hikaye. Visual Studio, bir programın domuzudur ve onu bir sunucuya yüklemek (ki bu genellikle olabildiğince hafif ve hızlıdır), sadece testleri çalıştırmak biraz can sıkıcıdır.


7
Test çalıştırıcılarının ( microsoft.com/en-us/download/details.aspx?id=1334 ) yüklenmesini sağlamak için bir CI sunucusuna TFS Takım Test Aracısı kurabilirsiniz (ve yapılandıramazsınız ). Genel, Sıralı, Kodlu Kullanıcı Arayüzü veya Performans testleri istemediğiniz sürece tam bir Visual Studio kurulumuna gerek yoktur.
jessehouwing

1
Team Build 2012, derleme sunucunuza Visual Studio yüklemenize gerek kalmadan farklı test çalıştırıcıları için destek yükler.
jessehouwing
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.