参照Azure DevOps上的MS Access Engine进行集成测试

问题描述

我有一些集成测试,问题是它们要求将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 已安装(据我了解,这将无法使用,因为提供商 应该在系统中注册)
  • 创建一个装有MS Access Engine的虚拟机(我想要一个更简单的解决方案)
  • 设置Azure管道,以便它将在其中具有Access Engine ...以某种方式

我的问题是:

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

解决方法

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

在azure管道中,它支持在Microsoft托管代理和自托管代理上运行构建。

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

Access引擎未预先安装在Microsoft托管的代理中,因此Microsoft托管的代理无法满足测试要求。可能会导致错误。

在这种情况下,正确的方法是您可以创建一个自托管代理并对其进行测试。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...