Aracılığıyla paylaş


İzlenecek Yol: Kullanımdan Üret Özelliği ile Önce Test Desteği

Bu konuda nasıl kullanılacağını göstermektedir Kullanımdan Oluştur test ilk geliştirmesini destekleyen özelliği.

Test-ilk geliştirme , ilk ürün belirtimlere bağlı birim testler yazma ve sonra başarılı testler yapmak için gereken kaynak kodu yazma yazılım tasarımı yaklaşımıdır.Visual Studiodestekler test-geliştirme önce öncelikle bunları test durumlarda, başvuru yaptığınızda yeni türleri ve üyeleri kaynak kodu üreterek ilk.

Visual Studioİş akışınız için en az kesinti ile üyeler ve yeni türleri oluşturur.Geçerli konumunuzu kod ayrılmadan türleri, yöntemleri, özellikleri, alanlar veya Kurucular için yer tutucular oluşturabilirsiniz.Türü oluşturma seçeneklerini belirtmek için iletişim kutusunu açtığınızda, odağı iletişim kutusu kapandığında hemen geçerli açık dosyaya verir.

Kullanım oluştur özelliği ile tümleştirme sınaması çerçeveleri ile kullanılan Visual Studio.Bu konudaki Microsoft birim sınama çerçevesi gösterilmiştir.

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.

Windows Class Library projesi ve Test proje oluşturmak için

  1. De Visual C# veya Visual Basic, yeni bir Windows Class Library projesi oluşturun.Bu ad GFUDemo_VB veya GFUDemo_CS, kullanmakta olduğunuz dili bağlı.

  2. İçinde Solution Explorer, üst çözüm simgesini sağ tıklatın, üzerine Ekle[NULL]'ı Yeni bir proje.İçinde Yeni proje iletişim kutusu Proje türleri , sol tıklatma bölmesinde Test.

  3. İçinde şablonları bölmesinde tıklatın Birim projesinin ve UnitTestProject1 varsayılan adı kabul edin.İçinde görüntülendiğinde iletişim kutusu aşağıda gösterilmiştir Visual C#.De Visual Basic, iletişim kutusuna benzer.

    Yeni proje iletişim kutusu

    Yeni Test projesi iletişim kutusu

  4. Tıklatın Tamam kapatmak için Yeni bir proje iletişim kutusu.Artık testleri yazmaya başlamak hazırsınız

Birim test yeni bir sınıf oluşturmak için

  1. Projesinin UnitTest1 adlı bir dosya içerir.Bu dosyayı çift Solution Explorer Kod Düzenleyicisi'nde açın.Test sınıfı ve test yöntemi üretilmedi.

  2. Sınıfın bildirimini bulun UnitTest1 ve ona yeniden adlandırma AutomobileTest.C# ' ta, bir UnitTest1() yapıcı, ona yeniden adlandırma AutomobileTest().

    [!NOT]

    IntelliSense şimdi IntelliSense deyimi tamamlama için iki seçenek sunar: tamamlama modu ve öneri modu.Önce sınıflar ve üyeleri kullanılan durumlarda öneri modunu kullanın.IntelliSense penceresi açık olduğunda, tamamlama ve öneri modları arasında geçiş yapmak için ctrl + alt + ARA ÇUBUĞU tuşlarına basabilirsiniz.Daha fazla bilgi için bkz. IntelliSense Kullanma.Öneri mod yardımcı olacak yazarken Automobile sonraki adım.

  3. Bulun TestMethod1() yöntemi ve ona yeniden adlandırma DefaultAutomobileIsInitializedCorrectly().Bu yöntem içinde adlı bir sınıfın yeni bir örneğini oluşturmak Automobile, aşağıdaki resimlerde gösterildiği gibi.Derleme zamanı hatası gösterir dalgalı bir çizgi belirir ve akıllı etiket türü adı altında görünür.Akıllı etiket tam konumu değişir, kullanmanıza bağlı olarak Visual Basic veya Visual C#.

    Visual Basic

    Visual Basic akıllı etiket alt çizgi

    Visual C#

    C# ' ta akıllı etiket alt çizgi

  4. Fare işaretçisini türü yok adlı bildiren bir hata iletisi görmek için akıllı etiket üzerinde Automobile henüz tanımlanır.Akıllı etiketi tıklatın veya ctrl + tuşlarına basın.(ctrl + nokta) aşağıdaki resimlerde gösterildiği gibi kullanım üretmek kısayol menüsünü açın.

    Visual Basic

    Visual Basic akıllı etiket bağlam menüsü

    Visual C#

    C# ' ta akıllı etiket bağlam menüsü

  5. Şimdi iki seçeneğiniz vardır.Tıklatın Oluştur ' sınıf otomobil ' test projenize yeni bir dosya oluşturun ve adlı boş bir sınıf ile doldurmak için Automobile.Geçerli projede varsayılan erişim değiştiricileri olan yeni bir dosyayı yeni bir sınıf oluşturmak için hızlı bir yoldur.De Oluştur yeni tür açmak için Yeni bir tür oluşturmak iletişim kutusu.Bu sınıf varolan bir dosyaya koymak ve başka bir projeye dosya ekleme seçenekleri sağlar.

    Tıklatın Oluştur yeni tür açmak için Yeni bir tür oluşturmak aşağıdaki çizimde gösterilen iletişim kutusu.İçinde Proje tıklatın GFUDemo_VB veya GFUDemo_CS 'ne Visual Studio projesinin yerine kaynak kodu proje dosyasına eklemek için.

    Yeni iletişim kutusunda Oluştur

    Yeni türü iletişim kutusu oluştur

  6. Tıklatın Tamam iletişim kutusunu kapatmak ve yeni bir dosya oluşturun.

  7. İçinde Solution Explorer, yeni Automobile.vb doğrulamak için GFUDemo_VB veya GFUDemo_CS proje düğümü altında arayın veya Automobile.cs dosya vardır.Kod Düzenleyicisi'nde, yine de odağı olur AutomobileTest.DefaultAutomobileIsInitializedCorrectly.En az kesinti ile sınamanız yazmaya devam.

Özellik saplama oluşturmak için

  • Ürün belirtimini bildiren varsayalım Automobile sınıf adlı iki ortak özellikleri olan Model ve TopSpeed.Bu özelliklerin varsayılan değerleri ile başlatılmalıdır "Not specified" ve -1 varsayılan kurucu tarafından.Aşağıdaki birim sınaması, varsayýlan kurucu özelliklerini doğru varsayılan değerlerine ayarlar doğrulayın.

    Aşağıdaki kod satırını ekleyin DefaultAutomobileIsInitializedCorrectly.

    Assert.IsTrue((myAuto.Model = "Not specified") And (myAuto.TopSpeed = -1))
    
    Assert.IsTrue((myAuto.Model == "Not specified") && (myAuto.TopSpeed == -1));
    

    Kod üzerinde iki tanımsız özellik başvurduğundan Automobile, bir akıllı etiket görüntülenir.Akıllı etiket için'ı Model 'ı Oluştur özelliği saplama.Üretmek için özellik saplama TopSpeed özelliği de.

    De Automobile sınıfı, yeni özellikler türleri bağlamında doğru olayla.

    Akıllı etiket kısayol menüsünde aşağıda gösterilmiştir.

    Visual Basic

    Visual Basic özellik bağlam menüsü oluştur

    Visual C#

    Özellik bağlam menüsü C# ' ta oluştur

Kaynak kodunu bulmak için

  • Kullanım Gitmek için özelliği, yeni oluşturulan doğrulamak Automobile.cs veya Automobile.vb kaynak kod dosyasına gidin.

    Gitmek için özelliği sağlar hızla adı yazın veya bir adının bir parçası olarak bir metin dizesini girin ve sonuç listesindeki öğeyi tıklatarak istediğiniz konuma gidin.

    Açık Gitmek için Kod Düzenleyicisi'nde tıklatıp ctrl +, (ctrl + virgül) tuşlarına basarak iletişim kutusu.Metin kutusuna otomobil.Tıklatın otomobil sınıf listesinde ve i Tamam.

    Gitmek için penceresinde aşağıdaki çizimde gösterilen.

    İçin Kayıt Bul penceresi

    Git iletişim kutusu

Yeni bir kurucu için bir saplama oluşturmak için

  1. Bu test yöntemine yapar bir kurucu saplama oluşturacak Model ve TopSpeed belirttiğiniz değerleri olan özellikler.Daha sonra sınama işlemini tamamlamak için daha fazla kod ekleyeceksiniz.Aşağıdaki ek test yöntemine ekleyin, AutomobileTest sınıfı.

    <TestMethod()> Public Sub AutomobileWithModelNameCanStart()
        Dim model As String = "Contoso" 
        Dim topSpeed As Integer = 199
        Dim myAuto As New Automobile(model, topSpeed)
    End Sub
    
    [TestMethod]
    public void AutomobileWithModelNameCanStart()
    {
        string model = "Contoso";
        int topSpeed = 199;
        Automobile myAuto = new Automobile(model, topSpeed);
    }
    
  2. Akıllı etiket altında yeni sınıf yapıcısı ve sonra tıklatın yapıcı saplama Generate.De Automobile sınıf dosyası, new yapıcısını yapıcı çağrısında kullanılan yerel değişkenlerin adlarını incelenmiştir dikkat edin, aynı ada sahip bulunan özellikleri bulunan Automobile sınıfı ve değişken değerlerini depolamak için yapıcı gövdesindeki sağlanan kodu Model ve TopSpeed özellikleri.(De Visual Basic, _model ve _topSpeed new yapıcısını alanları için örtülü olarak tanımlanmış yedekleme alanları olan Model ve TopSpeed özellikleri.)

  3. New yapıcısını üretmek sonra varsayılan oluşturucu çağrısı altında dalgalı bir çizgi görünür DefaultAutomobileIsInitializedCorrectly.Hata iletisini bildiren Automobile sıfır değişkenleri hiçbir yapıcı sınıfı vardır.Parametreleri olmayan bir açık varsayýlan bir kurucu için akıllı etiketi tıklatın ve ardından yapıcı saplama Generate.

Bir yöntem için bir saplama oluşturmak için

  1. Belirtimi bildiren varsayalım yeni Automobile , bir çalışan durumuna yerleştirilebilir, Model ve TopSpeed özelliklerini ayarlamak için varsayılan değerlerin dışında bir şey.Aşağıdaki satırları ekleyin AutomobileWithModelNameCanStart yöntemi.

    myAuto.Start()
    Assert.IsTrue(myAuto.IsRunning = True)
    
    myAuto.Start();
    Assert.IsTrue(myAuto.IsRunning == true);
    
  2. Akıllı etiket için tıklatın myAuto.Start yöntemini çağırın ve i Generate method stub.

  3. Akıllı etiket için'ı IsRunning özelliği tıklatın ve sonra Oluştur özelliği saplama.Automobile Sınıfı şimdi aşağıdaki kodu içerir.

    Public Class Automobile
        Sub New(ByVal model As String, ByVal topSpeed As Integer)
            _model = model
            _topSpeed = topSpeed
        End Sub 
        Sub New()
            ' TODO: Complete member initialization  
        End Sub 
    
        Property Model() As String 
        Property TopSpeed As Integer 
        Property IsRunning As Boolean 
        Sub Start()
            Throw New NotImplementedException
        End Sub 
    End Class
    
    public class Automobile
    {
        public string Model { get; set; }
        public int TopSpeed { get; set; }
    
        public Automobile(string model, int topSpeed)
        {
            this.Model = model;
            this.TopSpeed = topSpeed;
        }
    
        public Automobile()
        {
            // TODO: Complete member initialization
        }
    
        public void Start()
        {
            throw new NotImplementedException();
        }
    
        public bool IsRunning { get; set; }
    }
    

Bu sınamayı çalıştırmak için

  1. Üzerinde Birim Test menüsü, Birim sınamalar[NULL]'ı Tüm sınamalar.Bu komut geçerli çözümü için yazılan tüm sınama çerçeveleri tüm sınamalar çalıştırır.

    Bu durumda iki sınama vardır ve her ikisi de beklendiği gibi başarısız.DefaultAutomobileIsInitializedCorrectly Olmadığından sınama başarısız Assert.IsTrue koşul verir False.AutomobileWithModelNameCanStart Olmadığından sınama başarısız Start yöntemi Automobile sınıfı, bir istisna.

    Test sonuçları penceresinde aşağıdaki çizimde gösterilen.

    Test Sonuçları penceresi

    Başarısız olan test sonuçları

  2. İçinde Test sonuçları penceresinde, her sınama hatası konuma gitmek için her test sonuç satırı üzerinde çift tıklatın.

Kaynak kodunu uygulamak için

  1. Aşağıdaki kodu varsayılan kurucuyu böylece ekleme Model, TopSpeed ve IsRunning özellikleri tüm başlatılan doğru varsayılan değerlerine "Not specified", -1, ve True (true).

    Sub New()
        Model = "Not specified"
        TopSpeed = -1
        IsRunning = True 
    End Sub
    
    public Automobile()
    {
        this.Model = "Not specified";
        this.TopSpeed = -1;
        this.IsRunning = true;
    }
    
  2. Zaman Start yöntemi çağırıldığında, ayarlamanız gerekir IsRunning bayrağı yalnızca doğru Eğer Model veya TopSpeed özelliklerini ayarlamak için varsayılan değer dışında bir şey.Kaldırma NotImplementedException yönteminden gövde ve aşağıdaki kodu ekleyin.

    Sub Start()
        If Model <> "Not specified" Or TopSpeed <> -1 Then
            IsRunning = True 
        Else
            IsRunning = False 
        End If 
    End Sub
    
    public void Start()
    {
        if (this.Model != "Not specified" || this.TopSpeed != -1)
            this.IsRunning = true;
        else 
            this.IsRunning = false;
    }
    

Sınamaları yeniden çalıştırmak için

  • Üzerinde Test menüsü, çalışan[NULL]'ı Çözümündeki tüm sınamalar.Bu kez sınamaları geçmesi.Test sonuçları penceresinde aşağıdaki çizimde gösterilen.

    Test Sonuçları penceresi

    Başarılı olan test sonuçları

Ayrıca bkz.

Kavramlar

Kullanımdan Oluştur

Birim Testleri Kullanarak Kod Doğrulama

Diğer Kaynaklar

Kod ve Metin Düzenleyici'de Kod Yazma

IntelliSense Kullanma