Názorný postup: Definovat zdroj dat pomocí konfiguračního souboru
Tento postup ilustruje použití zdroj dat definována v souboru app.config pro testování.Dozvíte, jak vytvořit soubor app.config, který definuje zdroj dat lze použít pomocí DataSourceAttribute třída. Následující úkoly v tomto návodu:
Vytvoření souboru app.config.
Definování vlastní konfigurace oddíl.
Definování řetězce připojení.
Definice zdroje dat.
Při přístupu k datům zdrojů pomocí DataSourceAttribute třída.
Požadavky
K dokončení toho návodu budete potřebovat:
Visual Studio PremiumneboVisual Studio Ultimate
Aplikace Microsoft Access nebo Microsoft Excel poskytovat data pro nejméně jeden test metody.
A Visual Studio 2012 řešení obsahuje testprojekt.
Vytvořit soubor App.config
Přidat soubor app.config do projekt
Pokud testprojekt již obsahuje soubor app.config, přejít na definovat vlastní konfiguračního oddílu.
Pravým tlačítkem myši na testprojekt Aplikaci Solution Explorer, přejděte na Přidata klepněte na tlačítko Nové položky.
Přidat novou položkuse otevřeokno .
Vyberte Konfiguračního souboru aplikace šablona a klepněte na Přidat.
Definovat vlastní konfigurační oddíl
Zkontrolujte soubor app.config.Obsahuje alespoň deklarace jazyk XML a kořen prvku.
Přidání vlastní konfigurace oddíl do souboru app.config
kořen prvek app.config by měla být configuration prvku.Vytvoření configSections prvku configuration prvku.configSections By měl být první prvek v souboru app.config.
V rámci configSections prvek, vytvořit section prvku.
V section prvek, přidejte atribut nazvaný name a přiřadit si hodnota rovná microsoft.visualstudio.testtools.Přidat jiný atribut nazvaný type a přiřadit it stejnou hodnotuMicrosoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
section Prvek by měl vypadat podobně jako tento:
<section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
[!POZNÁMKA]
Název sestavení musí odpovídat Microsoft Visual Studio .NET rozhraní .NET Framework sestavení , které používáte.Pokud používáte Visual Studio , nastavte na 9.0.0.0 verze.NET rozhraní .NET Framework 3.5.Pokud používáte Visual Studio .NET rozhraní .NET Framework 2.0, nastavte verzi na 8.0.0.0.
Určit připojovací řetězce
Připojovací řetězce definovat specifické informace poskytovatel pro přístup ke zdrojům dat.Připojovací řetězce definované v konfigurace soubory obsahují informace opakovaně poskytovatel dat prostřednictvím aplikace.V této části můžete vytvořit dvě připojovací řetězce, které budou používat zdroje dat, které jsou definovány v části vlastní konfigurace.
Definovat připojovací řetězce
Po configSections prvek, vytvořit connectionStrings prvku.
V rámci connectionStrings prvek, vytvořit dvě add prvky.
V prvním add prvek, vytvořit následující atributy a hodnoty pro připojení k databázeaplikace Microsoft Access:
Atribut |
Hodnoty |
---|---|
name |
"MyJetConn" |
connectionString |
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\testdatasource.accdb; Persist Security Info=False;" |
providerName |
"System.Data.OleDb" |
Ve druhé add prvek, vytvořit následující atributy a hodnoty pro připojení do tabulky aplikace Microsoft Excel :
name |
"MyExcelConn" |
connectionString |
"Dsn=Excel Files;dbq=data.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5" |
providerName |
"System.Data.Odbc" |
connectionStrings Prvek by měl vypadat podobně jako tento:
<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>
Definování zdrojů dat
V části zdroje dat obsahuje čtyři atributy, které test stroj používaný k načtení dat z zdroj dat.
namedefinuje identita používané DataSourceAttribute určit, který zdroj dat používat.
connectionStringidentifikuje připojovací řetězec vytvořený v předchozí části definovat řetězce připojení.
dataTableNameUrčuje tabulku nebo list, který obsahuje data v test.
dataAccessMethodDefinuje techniku pro přístup k datové hodnoty v zdroj dat.
V této části bude definovat dva zdroje dat použít jednotku test.
K určení zdroje dat
Po connectionStrings prvek, vytvořit microsoft.visualstudio.testtools prvku.V této části byl vytvořen v definovat vlastní konfiguračního oddílu.
V rámci microsoft.visualstudio.testtools prvek, vytvořit dataSources prvku.
V rámci dataSources prvek, vytvořit dvě add prvky.
V prvním add prvek, vytvořit následující atributy a hodnoty pro Microsoft Access zdroj dat:
Atribut |
Hodnoty |
---|---|
name |
"MyJetDataSource" |
connectionString |
"MyJetConn" |
dataTableName |
"MyDataTable" |
dataAccessMethod |
"Sequential" |
Ve druhé add prvek, vytvořit následující atributy a hodnoty pro Microsoft Excelzdroj dat:
Name |
"MyExcelDataSource" |
connectionString |
"MyExcelConn" |
dataTableName |
"Sheet1$" |
dataAccessMethod |
"Sequential" |
microsoft.visualstudio.testtools Prvek by měl vypadat podobně jako tento:
<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>
Konečné app.config souboru by měl vypadat podobně jako tento:
<?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>
Vytvořit Test jednotky pomocí zdroje dat definované v app.config
Nyní, byl definován soubor app.config, budete vytvořit jednotky test používající data umístěná ve zdrojích dat, které jsou definovány v souboru app.config.V této části bude:
Vytvoření zdrojů dat v souboru app.config.
Použití zdrojů dat v dvě test metody, které porovnávat hodnoty v jednotlivých zdroj dat.
vytvořit aplikace Microsoft Access zdroj dat
Vytvoření databáze s názvem testdatasource.accdb.
Vytvořte tabulku s názvem MyDataTable v testdatasource.accdb.
Vytvořte dvě pole v MyDataTable s názvem Arg1 a Arg2 použití Number datový typ.
Přidat pět subjektů na MyDataTable s následujícími hodnotami pro Arg1 a Arg2, resp.: (10,50), (3,2) (6,0) (0,8) a (12312,1000).
Uložit a zavřít databáze.
Změňte připojovací řetězec umístění databáze.Změňte hodnotu Data Source podle umístění databáze.
vytvořit Microsoft Excelzdroj dat
Vytvoření tabulky Microsoft Excel s názvem data.xlsx.
Vytvořit list s názvem Sheet1 Pokud již neexistuje v data.xlsx.
Vytvořte dvě záhlaví sloupců a jejich názvy Val1 a Val2 v Sheet1.
Přidat pět subjektů na Sheet1 s následujícími hodnotami pro Val1 a Val2, resp.: (1,1), (2,2) (3,3) (4,4) a (5,0).
Uložit a zavřít tabulku.
Změňte připojovací řetězec umístění tabulky.Změňte hodnotu dbq tak, aby odrážely umístění tabulky.
vytvořit jednotku test použití zdrojů dat app.config
testprojektpřidáte jednotku test .
Další informace naleznete v tématu Vytvoření a spuštění testů jednotky pro existující kód.
Nahradíte automaticky generovaný obsah jednotku test následující kód:
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"]); } } }
Prozkoumejte atributy DataSource.Povšimněte si nastavení názvů ze souboru app.config.
Sestavte řešení a testy, MyTestMethod a MyTestMethod2.
Důležité |
---|
Nasazení položky jako zdroje dat, takže jsou přístupné pro test v adresáři nasazení . |
Viz také
Koncepty
Ověření kódu pomocí zkoušky jednotky
Postupy: Testování částí řízené daty