簡體   English   中英

在Excel數據驅動的單元測試中使用數據源相對路徑時出錯

[英]Error using Data Source relative path in Excel Data Driven Unit Test

我正在使用System.Data.Odbc連接字符串連接到Excel數據源。 使用相對dbq路徑時,會發生以下錯誤:

錯誤[42S02] [Microsoft] [ODBC Excel驅動程序] Microsoft Office Access數據庫引擎找不到對象“ Sheet1 $”。 確保對象存在,並且正確拼寫了它的名稱和路徑名。

App.config中:

<configuration>
    <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="excelConnection" connectionString="Dsn=Excel Files;Dbq=ExcelDataSource.xlsx;Defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc"/>
    </connectionStrings>
    <microsoft.visualstudio.testtools>
        <dataSources>
            <add name="excelDataSource" connectionString="excelConnection" dataTableName="Sheet1$" dataAccessMethod="Sequential"/>
        </dataSources>
    </microsoft.visualstudio.testtools>
</configuration>

測試方法屬性:

[DeploymentItem("ExcelDataSource.xlsx")]
[DataSource("excelDataSource")]
[TestMethod]

故障排除說明:

  • 使用絕對dbq路徑
  • Excel文件設置為“如果更新則復制”並指定了[DeploymentItem]
  • 在到達[TestInitialize]方法之前失敗; 在創建測試部署目錄之前。
  • 它曾經在過去,也許是在較舊的Visual Studio版本中起作用

問題:defaultDir =。 決心解決?

使用| DataDirectory |可以正確解析 變量:defaultDir = | DataDirectory |。

connectionString="Dsn=Excel Files;Dbq=ExcelDataSource.xlsx;Defaultdir=|datadirectory|\;driverid=790;maxbuffersize=2048;pagetimeout=5"

| DataDirectory |中的更多內容 這里可變

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM