Aracılığıyla paylaş


İzlenecek yol: bir veri kaynağı tanımlamak için bir yapılandırma dosyası kullanılıyor.

Bu izlenecek yolda nasıl veri kaynağı birim sınaması için bir app.config dosyasında tanımlanan kullanılacağı gösterilmiştir.Nasıl oluşturmak için bir app.config dosyası veri kaynağı tanımlayan öğreneceksiniz tarafından kullanılabilecek DataSourceAttribute sınıf. Bu izlenecek yolda sunulan görevleri şunlardır:

  • Bir app.config dosyası oluşturuluyor.

  • Özel yapılandırma bölümünde tanımlama.

  • Bağlantı dizeleri tanımlama.

  • Veri kaynaklarını tanımlama.

  • Verilere erişme kaynakları kullanarak DataSourceAttribute sınıf.

Önkoşullar

Bu izlenecek yolu tamamlamak için şunları yapmanız gerekir:

  • Visual Studio Premium veya Visual Studio Ultimate

  • Microsoft Access veya Microsoft Excel en az bir test yöntemleri için veri sağlamak için.

  • A Visual Studio 2012bir testprojeiçeren çözüm .

App.config dosyası oluşturma

proje bir app.config dosyası eklemek için

  1. testproje bir app.config dosyası zaten varsa, gidin Tanımla özel yapılandırma bölümünde.

  2. testproje sağ Solution Explorer, üzerine Ekleve ardından New Item.

    Add New Itempencere açılır.

  3. Seçin Uygulama yapılandırma dosyası şablon seçin ve Ekle.

Özel yapılandırma bölümü tanımlamak

App.config dosyasını inceleyin.En azından XML bildirim ve bir kök öğe içerir.

Özel yapılandırma bölümünde app.config dosyası eklemek için

  1. App.config kök öğe olmalıdır configuration öğesi.Oluşturma bir configSections öğesi içinde configuration öğesi.configSections App.config dosyası ilk öğe olması gerekir.

  2. İçinde configSections öğesi, oluşturmak bir section öğesi.

  3. De section öğesi adlý bir öznitelik eklemek name ve atamak bir değer eşit BT microsoft.visualstudio.testtools.Adlı başka bir öznitelik eklemek type ve atamak bir değer eşit BTMicrosoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

section Öğesi bakın şuna benzer:

<section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

[!NOT]

Microsoft Visual Studio derleme adı eşleşmelidir.Kullanmakta olduğunuz net Frameworkyapı . Visual Studio kullanıyorsanız, sürüm 9.0.0.0 için ayarlayın.net Framework 3.5.Visual Studio kullanıyorsanız.net Framework 2.0, sürüm 8.0.0.0 için ayarlayın.

Bağlantı dizeleri tanımlamak

Bağlantı dizeleri sağlayıcı veri kaynaklarına erişmek için belirli bilgileri tanımlayın.Bağlantı dizelerini yapılandırma dosyalarında tanımlanan uygulamayeniden veri sağlayıcı bilgi sağlar.Bu bölümde, iki oluşturmak ' ni özel yapılandırma bölümünde tanımlanan veri kaynakları tarafından kullanılan bağlantı dizeleri.

Bağlantı dizeleri tanımlamak için

  1. Sonra configSections öğesi, oluşturmak bir connectionStrings öğesi.

  2. İçinde connectionStrings öğesi, iki oluşturmak ' ni add öğeleri.

  3. İlk add öğesi, oluşturmak aşağıdaki öznitelikleri ve değerleri bir Microsoft Access veritabanıbağlantısı:

Öznitelik

Değerler

name

"MyJetConn"

connectionString

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\testdatasource.accdb; Persist Security Info=False;"

providerName

"System.Data.OleDb"

İkinci add öğesi, oluşturmak aşağıdaki öznitelikleri ve değerleri Microsoft Excel elektronik tablosuna bir bağlantı için:

name

"MyExcelConn"

connectionString

"Dsn=Excel Files;dbq=data.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5"

providerName

"System.Data.Odbc"

connectionStrings Öğesi bakın şuna benzer:

<connectionStrings>
    <add name="MyJetConn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\testdatasource.accdb; Persist Security Info=False;" providerName="System.Data.OleDb" />
    <add name="MyExcelConn" connectionString="Dsn=Excel Files;dbq=data.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc" />
</connectionStrings>

Veri kaynaklarını tanımlayın

Veri kaynakları bölümü test motoru tarafından gelen veri kaynağıverileri almak için kullanılan dört öznitelikleri içerir.

  • nametarafından kullanılan kimlik tanımlayan DataSourceAttribute kullanmak için hangi veri kaynağı belirtmek için.

  • connectionStringönceki bağlantı dizeleri tanımlamak bölümünde oluşturduğunuz bağlantı dizesi tanımlar.

  • dataTableNameTablo veya testalanında kullanılacak verileri tutan sayfasını tanımlar.

  • dataAccessMethodveri değerleri veri kaynağıerişmek için teknik tanımlar.

Bu bölümde, bir birim testalanında kullanmak için iki veri kaynakları tanımlayacaktır.

Veri kaynağı tanımlamak için

  1. Sonra connectionStrings öğesi, oluşturmak bir microsoft.visualstudio.testtools öğesi.Bu bölüm içinde tanımla özel yapılandırma bölümü oluşturuldu.

  2. İçinde microsoft.visualstudio.testtools öğesi, oluşturmak bir dataSources öğesi.

  3. İçinde dataSources öğesi, iki oluşturmak ' ni add öğeleri.

  4. İlk add öğesi, oluşturmak aşağıdaki öznitelikleri ve değerleri için bir Microsoft Access veri kaynağı:

Öznitelik

Değerler

name

"MyJetDataSource"

connectionString

"MyJetConn"

dataTableName

"MyDataTable"

dataAccessMethod

"Sequential"

İkinci add öğesi, oluşturmak aşağıdaki öznitelikleri ve değerleri Microsoft Excelveri kaynağı:

Name

"MyExcelDataSource"

connectionString

"MyExcelConn"

dataTableName

"Sheet1$"

dataAccessMethod

"Sequential"

microsoft.visualstudio.testtools Öğesi bakın şuna benzer:

<microsoft.visualstudio.testtools>
    <dataSources>
        <add name="MyJetDataSource" connectionString="MyJetConn" dataTableName="MyDataTable" dataAccessMethod="Sequential"/>
        <add name="MyExcelDataSource" connectionString="MyExcelConn" dataTableName="Sheet1$" dataAccessMethod="Sequential"/>
    </dataSources>
</microsoft.visualstudio.testtools>

Son app.config dosyası aşağıdakine benzer görünmelidir:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
    </configSections>
    <connectionStrings>
        <add name="MyJetConn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\testdatasource.accdb; Persist Security Info=False;" providerName="System.Data.OleDb" />
        <add name="MyExcelConn" connectionString="Dsn=Excel Files;dbq=data.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc" />
    </connectionStrings>
    <microsoft.visualstudio.testtools>
        <dataSources>
            <add name="MyJetDataSource" connectionString="MyJetConn" dataTableName="MyDataTable" dataAccessMethod="Sequential"/>
            <add name="MyExcelDataSource" connectionString="MyExcelConn" dataTableName="Sheet1$" dataAccessMethod="Sequential"/>
        </dataSources>
    </microsoft.visualstudio.testtools>
</configuration>

App.config içinde tanımlanan veri kaynaklarını kullanarak bir birim Test oluşturma

Artık bir app.config dosyası tanımlanmışsa, oluşturmak app.config dosyasında tanımlanan veri kaynaklarında bulunan veri kullanan bir birim test çalışacaksınız.Bu bölümde şunlar yapılacak:

  • App.config dosyasında bulunan veri kaynakları oluşturun.

  • Veri kaynakları her veri kaynağıdeğerleri karşılaştırın iki test yöntemlerini kullanın.

veri kaynağı oluşturmak için Microsoft erişim

  1. Adlı bir Microsoft Access veritabanı oluşturmak testdatasource.accdb.

  2. Bir tablo oluşturun ve adlandırın MyDataTable , testdatasource.accdb.

  3. İki alanı oluşturmak MyDataTable adlı Arg1 ve Arg2 kullanarak Number veri türü.

  4. Beş varlıkları ekleme MyDataTable için aşağıdaki değerleri ile Arg1 ve Arg2, sırasıyla: (10,50), (3,2) (6,0) (0,8) ve (12312,1000).

  5. Kaydet ve veritabanı kapatmak ' ni.

  6. bağlantı dizesi veritabanıkonumunu gösterecek şekilde değiştirin.Değeri değiştirmek Data Source veritabanıkonumunu yansıtmak için.

oluşturmak için Microsoft Excelveri kaynağı

  1. Adlı Microsoft Excel elektronik tablo oluşturmak data.xlsx.

  2. Adlı bir sayfa oluşturmak Sheet1 , zaten, yoksa data.xlsx.

  3. İki sütun başlıklarını oluşturmak ve bunları bir ad Val1 ve Val2 , Sheet1.

  4. Beş varlıkları ekleme Sheet1 için aşağıdaki değerleri ile Val1 ve Val2, sırasıyla: (1,1), (2,2) (3,3) (4,4) ve (5,0).

  5. Kaydet ve elektronik tabloyu kapatmak ' ni.

  6. bağlantı dizesi elektronik tablonun konumunu gösterecek şekilde değiştirin.Değeri değiştirmek dbq elektronik tablonun yerini gösterecek biçimde.

oluşturmak için app.config veri kaynaklarını kullanarak bir birim test

  1. Bir birim test için test projeekleyin.

    Daha fazla bilgi için bkz. Oluşturma ve varolan bir koda birimi sınamalarını çalıştırma.

  2. Birim test otomatik oluşturulan içeriği aşağıdaki kodla değiştirin:

    using System;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace TestProject1
    {
         [TestClass]
        public class UnitTest1
        {
            private TestContext context;
    
            public TestContext TestContext
            {
                get { return context; }
                set { context = value; }
            }
    
            [TestMethod()]
            [DeploymentItem("MyTestProject\\testdatasource.accdb")]
            [DataSource("MyJetDataSource")]
            public void MyTestMethod()
            {
                int a = Int32.Parse(context.DataRow["Arg1"].ToString());
                int b = Int32.Parse(context.DataRow["Arg2"].ToString());
                Assert.AreNotEqual(a, b, "A value was equal.");
            }
    
            [TestMethod()]
            [DeploymentItem("MyTestProject\\data.xlsx")]
            [DataSource("MyExcelDataSource")]
            public void MyTestMethod2()
            {
                Assert.AreEqual(context.DataRow["Val1"], context.DataRow["Val2"]);
            }
        }
    }
    
  3. Veri kaynağı özellikleri inceleyin.App.config dosyası ayar adlarından dikkat edin.

  4. çözüm oluşturmak ve MyTestMethod ve MyTestMethod2 sınamalarını çalıştırın.

Önemli notÖnemli

test dağıtım dizininde erişilebilir olmasını sağlayacak şekilde veri kaynakları gibi öğeleri dağıtın.

Ayrıca bkz.

Kavramlar

Kod birimi sınamaları kullanarak doğrulama

Uygulamayı Sınama

Nasıl Yapılır: Veri Temelli Birim Testi Oluşturma

Diğer Kaynaklar

Oluşturma ve varolan bir koda birimi sınamalarını çalıştırma