Aracılığıyla paylaş


Nasıl yapılır: Testler için Dosyaları Dağıtma

Bir test çalıştırmadan önce test ve uygulama Burada, oldukları diğer derlemelere çalıştırabilecekleri bir konuma kopyalanması gerekir.Bir test de test verisi, yapılandırma dosyaları, veritabanı ve açıkça yüklenen derlemeler gibi ek dosyalar genellikle gerektirir.Bu ek dosyaların test için kullanılabilir yapmak için dağıtılacak olan belirtmeniz gerekir.

Testleri nerede çalışıyor?

Visual Studio 2012 çeşitli yerlerde sınamalarını çalıştırabilirsiniz:

Yerel test için test dosyaları nasıl dağıtılacak?

En iyi yolu şudur:

  1. Yapı işleminin bir parçası olarak yapı hedef dizine dosyaları kopyalayın.

    • Bir test projesi için özeldir, bunları test projesi Visual Studio içerik dosyaları olarak ekleyin.Çözüm Gezgini'nde seçin ve set Çıktı Kopyala özelliğini yeniyse kopyalar.

    • Aksi takdirde, yapı çıktı dizinine dosya kopyalamak için bir bağlama sonrası görev tanımlayın.Örne?in:

      xcopy /Y /S "$(SolutionDir)SharedFiles\*" "$(TargetDir)"
      

      Test projenizin proje özelliklerini açın.Bir C# projesinde açık Build Events sayfa.Bir Visual Basic projesi içinde derleme seçin ve sayfa Build Events.Copy komutu ekleyin bağlama sonrası olay alan.

  2. Kullanım DeploymentItemAttribute test yöntemlerini veya dosyaları ve klasörleri yapı çıktı dizinden dağıtım dizinine kopyalanmalıdır belirtmek için test sınıfları.

    [TestClass]
    class TestClass1
    {
      [TestMethod]
      [DeploymentItem("source", "targetFolder")]
      public void Test1()
      {
        string testData = System.IO.File.ReadAllText(@"targetFolder\source");
        ...
    } }
    
    <TestClass()> _
    Public Class UnitTest1
        <TestMethod()> _
        <DeploymentItem("source", "targetFolder")> _
        Sub TestMethod1()
            Dim testData As String = _
                System.IO.File.ReadAllText(@"targetFolder\source")
        ...
        End Sub
    End Class
    
    • Kaynak bir dosya veya dizin kopyalamak için.Yol mutlak, ya da yapı çıktı dizini ile ilişkili olabilir.

    • targetFolder isteğe bağlıdır.Kaynak dosya veya dizin içeriğini kopyalanacak dizindir.Yol mutlak, ya da dağıtım dizini ile ilişkili olabilir.Varsayılan değer ".", dağıtım dizini.

      [!NOT]

      targetFolder her zaman değil, hiç bir dosya yolu bir dizin.DeploymentItem kullanarak dosyanın adını değiştiremezsiniz.

    Öznitelik birden çok kez olarak istediğiniz ve test sınıfları veya yöntemleri test için uygulayabileceğiniz gibi kullanabilirsiniz.

    Çalıştırılacak testleri kümesini seçtiğinizde, testi çalıştırmadan önce başlar DeploymentItem öznitelikleriyle belirtilen tüm öğeleri kopyalanır.

  3. Birim testleri çalıştıran doğrudan yapı çıktı dizininde, böylece daha hızlı çalışır test göz önünde bulundurun.Testlerinizi denetledikten sonra bu yapı sunucuda özellikle yararlıdır.

    Bunu yapmak için ekleme bir .runsettings dosya çözümünüze, dahil <DeploymentEnabled>False</DeploymentEnabled>ve dosyayı seçin Test, Test ayarları menüsü.Aynı efekti, DeploymentItemAttribute hiç kullanılmayan herhangi bir test çalışması oluşur.

    Ancak, kullanıyorsanız, bir dağıtım klasörü kullanarak yoksayılamaz bir .testsettings web ve yük testleri için gerekli olan dosya, kodlanmış UI testleri ve uzak makinelerde uygulama dağıttığınız herhangi bir test.

.Testsettings dosyasının ne zaman kullanmalısınız?

Gereksinim duymadığınız bir .testsettings dosyası düz birim testleri için..Testsettings dosyası gerektirmeyen, birini kullanmayın.Üçüncü taraf test çerçeveler ile uyumlu değil ve birim testleri daha yavaş çalışmaya kolaylaştırır.Bunun yerine, dağıtımın diğer yolları düşünün.

Bu ifadeler biri doğruysa, bir .testsettings dosyası gerektirir:

.Testsettings dosyasını kullanırsanız, uygulama ve test derlemeleriniz her zaman bir dağıtım klasörüne kopyalanır.

Üzerinde veri dosyaları ve dizinleri belirtebilirsiniz Dağıtım .testsettings Düzenleyicisi sayfası.Her test çalışması önce dağıtım klasörüne kopyalanır.Bu sayfada belirtilen madde yolları her zaman çözüm dizini ile ilişkili olan ve her zaman yanında uygulama ve test derlemeleri dağıtım klasörüne dağıtılır.

Mutlak yollarý kullanmak veya farklı hedef dizin belirlemek istiyorsanız, .testsettings dosyası xml Düzenleyicisi ile açın ve buna benzer bir parça yerleştirin:

<Deployment>
  <DeploymentItem filename="C:\MyTestData\TestData.mdb"
        outputDirectory="D:\TestDB\" />
</Deployment>

outputDirectorymutlak veya göreli olarak dağıtım dizini olabilir.

Ayrı bir dağıtım klasöründe ne zaman kullanılır?

Visual Studio kullanarak testler çalıştırırsanız, dağıtım klasörü altında TestResults ise, çözüm klasöründe oluşturulur.

Herhangi bir test yöntemlerini veya testi sınıfları varsa DeploymentItem özniteliğini veya kullanıyorsanız, ayrı bir dağıtım klasöründe kullanılan bir .testsettings dosyası.

Bir dağıtım klasörü kullanıyorsanız, aşağıdaki dosya ve klasörler testler çalıştırılmadan önce dağıtım klasörüne kopyalanır:

Yerel test çalıştırması için dağıtım klasörleri

Testler için yerel dağıtım klasörü

Ne zaman ve hangi sırayla dağıtılan dosyaları misiniz?

Herhangi bir test başlamadan önce bir test çalışmasında, dağıtılacak tüm dosyalar kopyalanır.Bir test çalışması, tek bir komut veya zamanlanmış olay tarafından başlatılan testlerin bir toplu iş dosyasıdır.Bu belirli test yöntemi için dağıtılmak üzere bir veri dosyası belirtirseniz, onu da aynı şekilde çalışması gerçekleştirilen her test için kullanılabilir olacağı anlamına gelir.

Aşağıdaki öğeler, gösterilen sırada kopyalanır.Daha sonra kopyalanan öğe aynı ada sahip olmaları halinde, daha önce kopyalandı üzerine.

  1. Kullanılarak belirtilen öğeleriDeploymentItemAttribute

  2. Bağımlılıklar.Örneğin, uygulama yapılandırma dosyaları ve bağımlı derlemeler.

  3. Belirtilen öğe bir .testsettingsbirini kullanıyorsanız, dosya.

  4. İşaretlenmiş ikili dosyalar.Örneğin, kod kapsamı veya IntelliTrace etkinleştirmek için işaretlenir derlemeler.

    Yerinde işaretleme kullanıyorsanız, ikili dosyalar ilk önce işaretlenir ve ardından dağıtım dizinine kopyalanır; aksi halde, bunlar ilk olarak kopyalanır ve sonra işaretlenir.Yerinde araçlandırma, yerel olarak çalıştırılan testler için varsayılan ayardır.

  5. Testi oluşturan dosya ya da dosyalar.Bunlar, birim testlerine, metine veya .mht dosyalarına ilişkin test derlemelerini veya genel testler gibi diğer test türlerine ilişkin dosyaları içerir.

TestResults dizinde nedir?

  • Test Çalıştır klasörü.TestResults başladı her test çalışması için bir klasör içerir.Adı oluşturulduğu saati içerir.

    Test çalışması klasörü .testsettings dosyasında Kurulum ve temizleme komut dosyalarını belirtirseniz, bu komut dosyalarını içerir.

  • Out.Her test çalışması klasörü Out (Çıkış) adında bir klasör içerir.Çıkış klasörüne test çalıştırması başlatıldığında hangi derlemeler ve diğer dağıtım dosyalar kopyalanır gerçek dağıtım klasörüdür.

  • In.Kod kapsamı sonuçları ve diğer test sonuçlarını adlı klasörde depolanır.

Ayrıca bkz.

Başvuru

DeploymentItemAttribute

Kavramlar

Derlemeleri İşaretleme ve Yeniden İmzalama

Diğer Kaynaklar

Visual Studio Testleri için Test Ayarlarını Belirtme