参考 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;"
我需要如何克服这个问题的建议。只有几个想法:
- 找到一些允许在没有 Access Engine 的情况下执行测试的 dll
已安装(据我所知,这是行不通的,因为 Provider
应该在系统中注册)
- 创建一个安装了 MS Access Engine 的虚拟机(我想要一个更简单的解决方案)
- 设置 Azure Pipeline,以便其中包含 Access Engine...不知何故
我的问题是:
- 是否可以执行需要 MS Access Engine 的测试
Azure 管道?
- 如果是,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 代理并在其上 运行 进行测试。
我有一些集成测试,问题是它们需要 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;"
我需要如何克服这个问题的建议。只有几个想法:
- 找到一些允许在没有 Access Engine 的情况下执行测试的 dll 已安装(据我所知,这是行不通的,因为 Provider 应该在系统中注册)
- 创建一个安装了 MS Access Engine 的虚拟机(我想要一个更简单的解决方案)
- 设置 Azure Pipeline,以便其中包含 Access Engine...不知何故
我的问题是:
- 是否可以执行需要 MS Access Engine 的测试 Azure 管道?
- 如果是,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 代理并在其上 运行 进行测试。