参考 Azure DevOps 上的 MS Access Engine 的集成测试

Integration tests with reference to MS Access Engine on Azure DevOps

我有一些集成测试,问题是它们需要 Microsoft Access Database Engine 2010 Redistributable 安装在机器上,所以在 Azure Pipelines 中测试只是失败,因为找不到它。

需要 MS Access Engine 才能创建与 Excel 个文件的连接并查询它们。

connectionStr = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={path};Extended Properties=Excel 12.0 XML;"

我需要如何克服这个问题的建议。只有几个想法:

我的问题是:

  1. 是否可以执行需要 MS Access Engine 的测试 Azure 管道?
  2. 如果是,easiest/correct方法是什么?

有效的方法是在您的本地计算机或 VM 上安装 Microsoft Access 数据库引擎,然后您可以创建一个 self-hosted agent 到 运行 您需要 MS Access 引擎的测试。

在 Azure 管道中,它支持 运行ning 在 microsoft-hosted 代理和 self-hosted 代理上构建。

查看有关 Microsoft-hosted agent configuration 的文档。

Access Engine 不在microsoft-hosted 代理中pre-installed,因此microsoft-hosted 代理无法满足测试要求。可能会导致错误。

在这种情况下,正确的方法是您可以创建一个 self-hosted 代理并在其上 运行 进行测试。