Adım adım kılavuz: Kullanımdan Oluştur özelliğiyle ilk geliştirmeyi test edin
Bu konu başlığında, test öncesi geliştirmeyi destekleyen Kullanımdan Oluştur özelliğinin nasıl kullanımı gösterebilirsiniz.
Test-ilk geliştirme, yazılım tasarımına, önce ürün belirtimlerine göre birim testleri yazıp ardından testleri başarılı yapmak için gereken kaynak kodu yazarak bir yaklaşımdır. Visual Studio, tanımlanmamış test çalışmalarında ilk kez başvurarak kaynak kodda yeni türler ve üyeler oluşturarak test öncesi geliştirmeyi destekler.
Visual Studio iş akışınız çok az kesintiyle yeni türler ve üyeler üretir. Geçerli konumunu kodda bırakmadan türler, yöntemler, özellikler, alanlar veya oluşturucular için saplamalar oluşturabilirsiniz. Tür oluşturma seçeneklerini belirtmek için bir iletişim kutusu açsanız, iletişim kutusu kapanıyorsa odak hemen geçerli açık dosyaya döner.
Kullanımdan Oluştur özelliği, verilerle tümleştirilmiş test çerçeveleriyle Visual Studio. Bu konu başlığında, Microsoft Birim Testi Çerçevesi açıklanmıştır.
Not
Bilgisayarınız, bu makaledeki Visual Studio Kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Farklı bir Visual Studio sürümü veya farklı ortam ayarları kullanıyor olabilirsiniz. Daha fazla bilgi için bkz. IDE 'Yi kişiselleştirme.
Windows Sınıf Kitaplığı projesi ve Test projesi oluşturma
C# veya Visual Basic sınıf kitaplığı projesinde yeni Windows oluşturun. Kullandığınız
GFUDemo_VBdileGFUDemo_CSbağlı olarak veya adını girin.Bu Çözüm Gezgini üst köşesindeki çözüm simgesine sağ tıklayın ve Yeni Ekle'yi Project. >
Yeni bir Birim Testi Project (.NET Framework) projesi oluşturun.
Aşağıdaki çizimde, C# Project yeni özellikler iletişim kutusu gösterilmiştir.

Sınıf Kitaplığı projesine başvuru ekleme
Bu Çözüm Gezgini, birim testi projenizin altında Başvurular girdisini sağ tıklatın ve Başvuru Ekle'yi seçin.
Başvuru Yöneticisi iletişim kutusunda Projeler'i ve ardından sınıf kitaplığı projesini seçin.
Başvuru Yöneticisi iletişim kutusunu kapatmak için Tamam'ı seçin.
Çözümlerinizi kaydedin. Artık testleri yazmaya başlamaya hazır oluruz.
Birim testinde yeni bir sınıf oluşturma
Test projesi UnitTest1 adlı bir dosya içerir. Kod düzenleyicisinde açmak Çözüm Gezgini bu dosyaya çift tıklayın. Bir test sınıfı ve test yöntemi oluşturulmuş.
sınıf bildirimini bulun ve
UnitTest1olarak yeniden adlandıryın.AutomobileTestNot
IntelliSense artık IntelliSense deyimi tamamlama için iki alternatif sağlar: tamamlama modu ve öneri modu. Sınıfların ve üyelerin tanımlanmadan önce kullanıldıkları durumlar için öneri modunu kullanın. Bir IntelliSense penceresi açık olduğunda, tamamlama modu ile öneri modu arasında geçiş yapmak için Ctrl + Alt + Ara Çubuğuna basabilirsiniz. Daha fazla bilgi için bkz. IntelliSense kullanma. Öneri modu, bir sonraki adımda yazarken
Automobilesize yardımcı olur.yöntemini bulun
TestMethod1()ve olarak yeniden adlandıryın.DefaultAutomobileIsInitializedCorrectly()Bu yöntemin içinde, aşağıdaki ekran görüntülerde gösterildiği gibiAutomobileadlı yeni bir sınıf örneği oluşturun. Derleme zamanı hatasını gösteren dalgalı bir alt çizgi görüntülenir ve sol kenar boşluğunda veya üzerine gelirsiniz dalgalı çizginin hemen altında Hızlı Eylemler hata ampulü görünür.

Hızlı Eylemler ampulü seçin veya tıklayın. Türün tanımlanmamış olduğunu bir hata
Automobileiletisiyle karşılarsınız. Ayrıca bazı çözümler de sunulmaktadır.Tür Oluştur iletişim kutusunu açmak için Yeni tür oluştur'a tıklayın. Bu iletişim kutusu, türü farklı bir projede oluşturma gibi seçenekler sağlar.
Dosya Project GFUDemo _ VB'ye tıklayın veya GFUDemo_CS'a dosyayı test projesi Visual Studio sınıf kitaplığı projesine eklemesini talimat olarak ekleyin. Henüz seçilmemişse Yeni dosya oluştur'ı seçin ve Automobile.cs veya Automobile.vb olarak ad girin.

İletişim kutusunu kapatmak ve yeni dosyayı oluşturmak için Tamam'a tıklayın.
Yeni Çözüm Gezgini Automobile.vb veya Automobile.cs dosyasının orada olduğunu doğrulamak için GFUDemo_VB veya GFUDemo_CS proje düğümünün altına bakın. Kod düzenleyicisinde odak hala içindedir ve bu sayede testlerinizi en az
AutomobileTest.DefaultAutomobileIsInitializedCorrectlykesintiyle yazmaya devam edebilirsiniz.
Özellik saplama oluşturma
Ürün belirtimleri sınıfının ve adlı Automobile iki genel özelliği olduğunu ifade ediyor Model TopSpeed olabilir. Bu özellikler varsayılan ve değerleriyle varsayılan "Not specified" oluşturucu -1 tarafından başlatmalıdır. Aşağıdaki birim testi, varsayılan oluşturucun özellikleri doğru varsayılan değerlerine ayara sahip olduğunu doğrular.
Aşağıdaki kod satırı test
DefaultAutomobileIsInitializedCorrectlyyöntemine ekleyin.Assert.IsTrue((myAuto.Model == "Not specified") && (myAuto.TopSpeed == -1));Assert.IsTrue((myAuto.Model = "Not specified") And (myAuto.TopSpeed = -1))Kod, üzerinde tanımlanmamış iki özelense ve
Automobilealtında dalgalı bir alt çizgiModelTopSpeedgörünür. Üzerine gelinModelve Hızlı Eylemler hata ampulü'ne ve ardından 'Automobile.Model' özelliğini oluştur'a seçin.Özelliği için aynı şekilde bir
TopSpeedözellik saplama oluşturma.sınıfında,
Automobileyeni özelliklerin türleri bağlamdan doğru şekilde alıtır.
Yeni oluşturucu için saplama oluşturma
Şimdi ve özelliklerini başlatmak için bir oluşturucu saplama oluşturan bir test yöntemi Model TopSpeed oluşturacak. Daha sonra testi tamamlamak için daha fazla kod eksersiniz.
Aşağıdaki ek test yöntemini sınıfınıza
AutomobileTestekleyin.[TestMethod] public void AutomobileWithModelNameCanStart() { string model = "Contoso"; int topSpeed = 199; Automobile myAuto = new Automobile(model, topSpeed); }<TestMethod()> Public Sub AutomobileWithModelNameCanStart() Dim model As String = "Contoso" Dim topSpeed As Integer = 199 Dim myAuto As New Automobile(model, topSpeed) End SubKırmızı geçiş altındaki Hızlı Eylemler hata ampulü'ne ve ardından 'Automobile' içinde oluşturucu oluştur'a tıklayın.
Sınıf dosyasında yeni oluşturucu, oluşturucu çağrısında kullanılan yerel değişkenlerin adlarını inceledi, sınıfta aynı adlara sahip özellikler buldu ve özelliklerinde bağımsız değişken değerlerini depolamak için oluşturucu gövdesinde sağlanan kodu
AutomobileAutomobileModelTopSpeedinceledi.Yeni oluşturucuyu oluşturmanın ardından, içinde varsayılan oluşturucuya yapılan çağrının altında dalgalı bir alt çizgi
DefaultAutomobileIsInitializedCorrectlygörünür. Hata iletisi, sınıfın sıfırAutomobilebağımsız değişken alan bir oluşturucusu olmadığını gösterir. Parametreleri olmayan açık bir varsayılan oluşturucu oluşturmak için Hızlı Eylemler hata ampulü'ne tıklayın ve ardından 'Automobile' içinde oluşturucu oluştur'a tıklayın.
Yöntem için saplama oluşturma
belirtimi, ve özellikleri varsayılan değerlerden farklı bir değere ayarlanmışsa yeni bir Automobile IsRunning Model TopSpeed durumuna koyabilirsiniz durumunun olduğunu varsayabilirsiniz.
aşağıdaki satırları yöntemine
AutomobileWithModelNameCanStartekleyin.myAuto.Start(); Assert.IsTrue(myAuto.IsRunning == true);myAuto.Start() Assert.IsTrue(myAuto.IsRunning = True)Yöntem çağrısı için Hızlı Eylemler hata ampulü'ne ve ardından
myAuto.Start'Automobile.Start' yöntemini oluştur'a tıklayın.özelliği için Hızlı Eylemler ampulü'ne ve
IsRunningardından 'Automobile.IsRunning' özelliğini oluştur'a tıklayın.sınıfı
Automobileartık adlı bir yöntemi ve adlı bir özelliğiStart()IsRunningiçerir.
Testleri çalıştırma
Test menüsünde Tüm Testleri > Çalıştır'ı seçin.
Tüm > Testleri Çalıştır komutu, geçerli çözüm için yazılmış tüm test çerçevelerinde tüm testleri çalıştırır. Bu durumda iki test vardır ve ikisi de beklendiği gibi başarısız olur. Koşul
DefaultAutomobileIsInitializedCorrectlydöndür olduğundan test başarısızAssert.IsTrueFalseolur. sınıfındakiAutomobileWithModelNameCanStartyöntemi bir özel durum oluşturur çünkü test başarısızStartAutomobileolur.Test Sonuçları penceresi aşağıdaki çizimde gösterilmiştir.

Test Test Sonuçları her test sonucu satırına çift tıklar ve her testin konumunu gösterir.
Kaynak kodu uygulama
, ve özelliklerinin doğru varsayılan , ve (veya C# için) değerlerine başlatılması için aşağıdaki kodu varsayılan
ModelTopSpeedIsRunning"Not specified"-1Falsefalseoluşturucuya ekleyin.public Automobile() { this.Model = "Not specified"; this.TopSpeed = -1; this.IsRunning = true; }Sub New() Model = "Not specified" TopSpeed = -1 IsRunning = True End Subyöntemi çağrıldıysa, yalnızca veya özellikleri varsayılan değerlerinden farklı bir değere ayarlanmışsa
StartIsRunningbayrağını trueModelolarakTopSpeedayarlaması gerekir. yöntemininNotImplementedExceptiongövdesinden kaldırın ve aşağıdaki kodu ekleyin.public void Start() { if (this.Model != "Not specified" || this.TopSpeed != -1) this.IsRunning = true; else this.IsRunning = false; }Sub Start() If Model <> "Not specified" Or TopSpeed <> -1 Then IsRunning = True Else IsRunning = False End If End Sub
Testleri yeniden çalıştırma
Test menüsünde Çalıştır'ın üzerine gelin ve ardından Tüm Testler'e tıklayın.
Bu kez testler geçer. Test Sonuçları penceresi aşağıdaki çizimde gösterilmiştir.
