Udostępnij za pośrednictwem


Instruktaż: Użycie pliku konfiguracyjnego, aby zdefiniować źródło danych

Ten instruktaż ilustruje sposób użycia źródło danych zdefiniowanego w pliku app.config dla jednostki badań.Dowiesz się, jak utworzyć plik app.config definiujący źródło danych , mogą być używane przez DataSourceAttribute klasy.Zadania przedstawione w tym instruktażu są następujące:

  • Tworzenie pliku app.config.

  • Definiowanie sekcji niestandardowej konfiguracja .

  • Definiowanie ciągów połączeń.

  • Definiowanie źródeł danych.

  • Dostęp do danych źródeł za pomocą DataSourceAttribute klasy.

Wymagania wstępne

Do przeprowadzenia tego instruktażu będą potrzebne:

  • Visual Studio PremiumlubVisual Studio Ultimate

  • Program Microsoft Access albo Microsoft Excel do dostarczenia danych dla co najmniej jednej z metod badań.

  • A Visual Studio 2012 rozwiązanie zawierający badania projekt.

Utwórz plik App.config

Aby dodać plik app.config do projekt

  1. Jeśli badanie projekt istnieje już plik app.config, przejdź do Definiowanie sekcji konfiguracji niestandardowych.

  2. Kliknij prawym przyciskiem myszy badanie projekt w Solution Explorer, wskaż polecenie Dodaj, a następnie kliknij przycisk Nowego elementu.

    Dodaj nowy elementzostanie otwarteokno .

  3. Wybierz Pliku konfiguracyjnego aplikacji szablon i kliknij przycisk Dodaj.

Definiowanie sekcji konfiguracji niestandardowych

Sprawdź plik app.config.Co najmniej zawiera deklarację XML i elementu korzeń .

Aby dodać sekcję niestandardowej konfiguracja do pliku app.config

  1. Element korzeń app.config powinny być configuration element.Tworzenie configSections elementu wewnątrz configuration element.configSections Powinien być pierwszym elementem w pliku app.config.

  2. W ramach configSections element, należy utworzyć section element.

  3. W section element, dodać atrybut o nazwie name i przypisać to wartość równa microsoft.visualstudio.testtools.Dodać inny atrybut o nazwie type i przypisać to wartość równaMicrosoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

section Element powinno wyglądać podobnie do następującego:

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

[!UWAGA]

Nazwa zestaw musi odpowiadać Microsoft Visual Studio .NET Framework kompilacja , którego używasz.Ustawić wersję 9.0.0.0, jeśli używasz Visual Studio .NET Framework 3.5.Jeśli używasz Visual Studio .NET Framework 2.0, ustaw wersji 8.0.0.0.

Definiowanie ciągów połączeń

Ciągi połączeń zdefiniowanie szczególnych informacji o dostawca do uzyskiwania dostępu do źródła danych.Ciągi połączeń zdefiniowane w plikach konfiguracja dostarczają informacji wielokrotnego użytku dostawca danych całej aplikacji.W tej sekcji, można utworzyć dwa ciągi połączeń używanych przez źródeł danych, które są zdefiniowane w sekcji konfiguracji niestandardowych.

Aby zdefiniować ciągi połączeń

  1. Po configSections element, należy utworzyć connectionStrings element.

  2. W ramach connectionStrings element, utworzyć dwie add elementy.

  3. W pierwszym add element, należy utworzyć następujące atrybuty i wartości dla połączenia do baza danychprogramu Microsoft Access:

Atrybut

Wartości

name

"MyJetConn"

connectionString

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

providerName

"System.Data.OleDb"

W drugim add element, należy utworzyć następujące atrybuty i wartości dla połączenia do arkusza kalkulacyjnego programu Microsoft Excel :

name

"MyExcelConn"

connectionString

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

providerName

"System.Data.Odbc"

connectionStrings Element powinno wyglądać podobnie do następującego:

<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>

Definiowanie źródeł danych

Sekcja źródła danych zawiera cztery atrybuty, które są używane przez aparat badania do pobierania danych ze źródło danych.

  • nameOkreśla tożsamość używane przez DataSourceAttribute Aby określić, które źródło danych do użycia.

  • connectionStringidentyfikuje ciąg połączenia , utworzony w poprzedniej sekcji zdefiniować ciągi połączeń.

  • dataTableNameOkreśla tabelę lub arkusz, który przechowuje dane, które zostaną użyte w badaniu.

  • dataAccessMethoddefiniuje technikę do uzyskiwania dostępu do danych wartości źródło danych.

W tej sekcji zostaną zdefiniowane dwa źródła danych w test jednostki.

Aby zdefiniować źródła danych

  1. Po connectionStrings element, należy utworzyć microsoft.visualstudio.testtools element.W tej sekcji został utworzony w Definiowanie sekcji konfiguracji niestandardowych.

  2. W ramach microsoft.visualstudio.testtools element, należy utworzyć dataSources element.

  3. W ramach dataSources element, utworzyć dwie add elementy.

  4. W pierwszym add element, należy utworzyć następujące atrybuty i wartości dla programu Microsoft Access źródło danych:

Atrybut

Wartości

name

"MyJetDataSource"

connectionString

"MyJetConn"

dataTableName

"MyDataTable"

dataAccessMethod

"Sequential"

W drugim add element, należy utworzyć następujące atrybuty i wartości dla Microsoft Excelźródło danych:

Name

"MyExcelDataSource"

connectionString

"MyExcelConn"

dataTableName

"Sheet1$"

dataAccessMethod

"Sequential"

microsoft.visualstudio.testtools Element powinno wyglądać podobnie do następującego:

<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>

Plik app.config końcowego powinny wyglądać podobnie do następującego:

<?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>

Tworzenie Test jednostki, przy użyciu źródeł danych, określonych w app.config

Teraz, że plik app.config zostały zdefiniowane, można będzie utworzyć test jednostki korzystający z danych znajdujących się w źródłach danych, które są zdefiniowane w pliku app.config.W tej sekcji firma Microsoft będzie:

  • Tworzenie źródła danych, można odnaleźć w pliku app.config.

  • Użyj źródła danych w dwóch metod badania, porównujące wartości w każdym źródło danych.

Aby utworzyć firmy Microsoft dostęp źródło danych

  1. Program Microsoft Access baza danych o nazwie testdatasource.accdb.

  2. Tworzenie tabeli i nadaj mu nazwę MyDataTable w testdatasource.accdb.

  3. Utwórz dwa pola w MyDataTable o nazwie Arg1 i Arg2 za pomocą Number typ danych.

  4. Dodać pięć podmiotów do MyDataTable z następującymi wartościami dla Arg1 i Arg2, odpowiednio: (10,50), (3,2), (6,0) (0,8) i (12312,1000).

  5. Zapisz i zamknąć baza danych.

  6. Zmień ciąg połączenia , aby wskazać lokalizację baza danych.Zmień wartość Data Source w celu uwzględnienia lokalizacji baza danych.

Aby utworzyć Microsoft Excel źródło danych

  1. Tworzenie arkusza kalkulacyjnego programu Microsoft Excel , o nazwie data.xlsx.

  2. Utwórz arkusz o nazwie Sheet1 , jeśli go jeszcze nie istnieje w data.xlsx.

  3. Utwórz dwa nagłówki kolumn i nazwij je Val1 i Val2 w Sheet1.

  4. Dodać pięć podmiotów do Sheet1 z następującymi wartościami dla Val1 i Val2, odpowiednio: (1,1), (2,2) (3,3) (4,4) i (5,0).

  5. Zapisz i zamknąć arkusz kalkulacyjny.

  6. Zmień ciąg połączenia do wskazania lokalizacji arkusza kalkulacyjnego.Zmień wartość dbq do uwzględnienia lokalizacji arkusza kalkulacyjnego.

utworzyć się test jednostki korzystanie ze źródeł danych app.config

  1. test jednostki należy dodać do badania projekt.

    Aby uzyskać więcej informacji, zobacz Tworzenie i uruchamianie testów jednostki dla istniejącego kodu.

  2. Zastąp zawartość wygenerowany automatycznie test jednostki następujący kod:

    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. Zbadać atrybuty elementu DataSource.Zawiadomienie nazwy ustawienie z pliku app.config.

  4. Skompiluj rozwiązanie i uruchom testy MyTestMethod i MyTestMethod2.

Ważna uwagaWażne

Rozmieścić elementy, takie jak źródła danych, dzięki czemu są one dostępne dla badań w katalogu wdrażanie .

Zobacz też

Koncepcje

Sprawdzanie kodu za pomocą jednostki badań

Testowanie aplikacji

Porady: tworzenie testu jednostkowego opartego na danych

Inne zasoby

Tworzenie i uruchamianie testów jednostki dla istniejącego kodu