我正在使用以下代码行运行一个数据驱动的单元测试/编码UI测试与Excel工作表:
[DataSource(
"System.Data.Odbc",
"Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=|DataDirectory|\Data.xlsx;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true",
"mySheet$",
DataAccessMethod.Sequential),
DeploymentItem(@"DataData.xlsx")]
这在我的机器和我同事的机器上工作得很好,但是当我在其他机器上运行时,我得到以下错误:"单元测试适配器未能连接到数据源或读取数据"
关于如何调查这个问题,有什么建议吗?要在没有安装Visual Studio的机器上运行依赖于Excel电子表格的单元测试,需要安装Microsoft Access Database Engine 2010 Redistributable。您需要在开发机器和测试机器上安装它,并将连接字符串更改为:
[DataSource(
"System.Data.OleDb",
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.xlsx;Persist Security Info=False;Extended Properties='Excel 12.0 Xml;HDR=YES'",
"mySheet$",
DataAccessMethod.Sequential)]
[DeploymentItem(@"DataData.xlsx")]