在VS2013中使用Excel进行数据驱动单元测试

时间:2014-03-07 05:31:49

标签: visual-studio-2013 odbc 64-bit dsn

我正在使用Excel(*。xlsx)文件作为数据源创建Datadriven单元(MS单元测试)测试。 它出错并出现以下错误

  

结果消息:单元测试适配器无法连接到数据   来源或阅读数据。有关故障排除的更多信息   此错误,请参阅“数据驱动单元测试故障排除”   (http://go.microsoft.com/fwlink/?LinkId=62412)在MSDN Library中。   错误详细信息:错误[IM014] [Microsoft] [ODBC驱动程序管理器]   指定的DSN包含驱动程序和。之间的体系结构不匹配   应用

我已将“复制到输出”目录设置为:DateRangeTest.xlsx 我还尝试了defaultdir=.\;defaultdir=.;defaultdir=c:\projectName\bin\debug\;

以下是app.config

的部分
<configSections>
    <section 
      name="microsoft.visualstudio.testtools" 
      type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
     />
  </configSections>
  <connectionStrings>
    <add name="DateRangeConstr" 
      connectionString="Dsn=Excel Files;dbq=DateRangeTest.xlsx;defaultdir=.\; driverid=790;maxbuffersize=2048;pagetimeout=5" 
      providerName="System.Data.Odbc" />
  </connectionStrings>
  <microsoft.visualstudio.testtools>
    <dataSources>
      <add name="DateRangeTestDataSource" 
        connectionString="DateRangeConstr" 
        dataTableName="Sheet1$" 
        dataAccessMethod="Sequential"/>
    </dataSources>
  </microsoft.visualstudio.testtools>

2 个答案:

答案 0 :(得分:3)

(2) options here - 您可以删除已安装的Office产品的DSN要求安装相反的Excel / Access运行时比特率

选项1 - 从连接字符串中删除DSN

从此改变:

<add name="DateRangeConstr" 
    connectionString="Dsn=Excel Files;dbq=DateRangeTest.xlsx;defaultdir=.\; driverid=790;maxbuffersize=2048;pagetimeout=5" 
    providerName="System.Data.Odbc" />

对此:

<add name="DateRangeConstr" 
    connectionString="dbq=DateRangeTest.xlsx;defaultdir=.\; driverid=790;maxbuffersize=2048;pagetimeout=5" 
    providerName="System.Data.Odbc" />

选项2 - 安装相反位数的ODBC驱动程序

无论您使用的是Office 2010还是Office 2013,此修复都应该相同。

要测试此更改,您应该能够在安装后为x86和x64配置 Excel文件 DSN。

  • 32位ODBC:%WINDIR%\SysWOW64\odbcad32.exe
  • 64位ODBC:%WINDIR%\System32\odbcad32.exe

单击“Excel Files”,然后单击“Configure”,您将看到一个对话框。如果单击“配置”时发生错误 - 您没有为该位置安装正确的办公室驱动程序。

答案 1 :(得分:0)

我们不需要在我们的系统中安装任何来运行外部Excel数据驱动的单元测试。

我们只需运行 Visual Studio Data Source Explorer 下的数据源向导 即可。

观看此视频。本教程讲述了如何使用Visual Studio测试工具运行数据驱动(参数)单元测试。

Writing a Data Driven Unit Test using MS Excel as a Data Source Using MS Visual Studio Unit Testing Tools 2013, 2015 or 2017