【发布时间】:2015-03-30 18:03:35
【问题描述】:
我正在尝试在 C# 中构建数据驱动单元测试的测试类。我想使用 3 个数据库:一个来自 SQL,一个来自 Access,一个来自 Excel。 这是我的 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=10.0.0.0,
Culture=neutral"/>
</configSections>
<connectionStrings>
<add name="MyJetConn"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=H:\SQA\CoolMath\CoolMath\Database1.accdb;
Persist Security Info=False;"
providerName="System.Data.OleDb" />
<add name="MyExcelConn"
connectionString="Dsn=Excel Files;
dbq=H:\SQA\CoolMath\CoolMath\CoolMathExcelDataTable.xlsx;
defaultdir=.;
driverid=1046;
maxbuffersize=2048;
pagetimeout=5"
providerName="System.Data.Odbc" />
<add name="MSSQLConn"
connectionString="Data Source=H:\SQA\CoolMath\CoolMath\SQLExpress;
Initial Catalog=MSSQLDB;
Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<microsoft.visualstudio.testtools>
<dataSources>
<add name="MyJetDataSource"
connectionString="MyJetConn"
dataTableName="CoolMathAcessDataTable"
dataAccessMethod="Sequential"/>
<add name="MyExcelDataSource"
connectionString="MyExcelConn"
dataTableName="Sheet1$"
dataAccessMethod="Sequential"/>
<add name="MSSQLDataSource"
connectionString="MSSQLConn"
dataTableName="dbo.CoolMathDataTable"
dataAccessMethod="Sequential"/>
</dataSources>
</microsoft.visualstudio.testtools>
</configuration>
当我尝试运行测试时,它们都失败并显示以下消息:
“在测试配置设置中找不到数据源”。
我看不出我做错了什么,也许是数据库的位置? (它们都与代码项目和 XML 文件在同一个库中)。
在单元测试之上,我放置了以下属性:
[TestMethod()] [DeploymentItem("CoolMath\\CoolMathExcelDataTable.xlsx")]
[DataSource("MyExcelDataSource")]
【问题讨论】:
-
使用 Visual Studio Ultimate 2013:
-
属性例如:[TestMethod()] [DeploymentItem("CoolMath\\CoolMathExcelDataTable.xlsx")] [DataSource("MyExcelDataSource")]
-
2013 年使用版本 12.0.0.0
-
请根据我们的回答进行编辑,以添加 cmets 中请求的额外数据。
标签: c# unit-testing visual-studio-2013 mstest data-driven-tests