数据源节包含四个属性,测试引擎使用这四个属性从数据源检索数据。
name 定义一个标识,DataSourceAttribute 将使用此标识指定应使用哪一个数据源。
connectionString 标识在前面的“定义连接字符串”一节中创建的连接字符串。
dataTableName 定义用来保存要在测试中使用的数据的表格或表。
dataAccessMethod 定义用来访问数据源中的数据值的方法。
在本节中,您将定义在单元测试中使用的两个数据源。
定义数据源
在 connectionStrings 元素后面创建一个 microsoft.visualstudio.testtools 元素。此节在“定义自定义配置”一节中创建。
在 microsoft.visualstudio.testtools 元素内,创建一个 dataSources 元素。
在 dataSources 元素内,创建两个 add 元素。
在第一个 add 元素中,为 Microsoft Access 数据源创建以下属性和值:
属性 | 值 |
|---|
name | "MyJetDataSource" |
connectionString | "MyJetConn" |
dataTableName | "MyDataTable" |
dataAccessMethod | "Sequential" |
在第二个 add 元素中,为 Microsoft Excel 数据源创建以下属性和值:
Name | "MyExcelDataSource" |
connectionString | "MyExcelConn" |
dataTableName | "Sheet1$" |
dataAccessMethod | "Sequential" |
microsoft.visualstudio.testtools 元素看起来应该类似于:
<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>最终的 app.config 文件看起来应该类似于:
<?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.mdb; Persist Security Info=False;" providerName="System.Data.OleDb" />
<add name="MyExcelConn" connectionString="Dsn=Excel Files;dbq=data.xls;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>