获取“单元测试适配器未能连接到数据源或未能读取数据”;不同机器上的错误

本文关键字:机器 错误 数据 适配器 单元测试 连接 获取 数据源 读取 | 更新日期: 2023-09-27 18:08:27

我正在使用以下代码行运行一个数据驱动的单元测试/编码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(@"Data'Data.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(@"Data'Data.xlsx")]