私のVS 2008テストプロジェクトの単体テストでExcel 2007をデータソースとして使用しようとしています。Excel 2007 Visual Studio 2008単体テストでのデータソース接続エラー
設定ファイル:
<configuration>
<configSections>
<section name="microsoft.visualstudio.testtools"
type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</configSections>
<connectionStrings>
<add name="MyExcelConn"
connectionString="Dsn=Excel Files;dbq=SearchTestValues.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5"
providerName="System.Data.Odbc" />
</connectionStrings>
<microsoft.visualstudio.testtools>
<dataSources>
<add name="MyExcelDataSource"
connectionString="MyExcelConn"
dataTableName="Sheet1$"
dataAccessMethod="Sequential"/>
</dataSources>
</microsoft.visualstudio.testtools>
</configuration>
私のテストコード:
[TestMethod]
[DeploymentItem("SearchTestValues.xlsx")]
[DataSource("MyExcelDataSource")]
public void ShouldReturnResultsValidity()
{
var minDate = (DateTime)TestContext.DataRow["MinDate"];
var maxDate = (DateTime)TestContext.DataRow["MaxDate"];
var minStatus = (int)TestContext.DataRow["MinStatus"];
var maxStatus = (int)TestContext.DataRow["MaxStatus"];
var criteria = new SearchCriteria(minDate, maxDate, minStatus, maxStatus);
Assert.IsTrue(criteria.IsValid());
}
Excelファイルは、プロジェクトのルートフォルダにあります。ファイルBuildActionがContentに設定され、が配置されます。が新しい場合はコピーに設定されます。また、テストを実行するときにExcelファイルがTestResultsフォルダのoutフォルダに展開されるように、ファイルをDeployment Itemsのリストに追加しました。
私はこのテストを実行すると、ここで私が得るエラーは次のとおりです。
The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library.
Error details: ERROR [42S02] [Microsoft][ODBC Excel Driver] The Microsoft Office Access database engine could not find the object 'Sheet1$'. Make sure the object exists and that you spell its name and the path name correctly.
すべてのアイデアは、私はこのエラーを取得していますなぜですか?
おかげ
動作しませんでした。今回は、エラーは次のとおりです。 ユニット・テスト・アダプターがデータ・ソースへの接続またはデータの読み取りに失敗しました。このエラーのトラブルシューティングの詳細については、MSDNライブラリの「Data-Driven Unit Testのトラブルシューティング」(http://go.microsoft.com/fwlink/?LinkId=62412)を参照してください。 エラーの詳細:ERROR [42000] [Microsoft] [ODBC Excel Driver] '[Sheet1 $'のブラケットが無効です。 –
ちょうど確かめるために、私は "[Sheet1 $]"のようにdataTableNameを改訂しましたが、エラーメッセージには閉じ括弧がないようです。それにもかかわらず、それは動作しません。 –