我们正在使用Azure DevOps发布管道将dacpac部署到未安装Visual Studio的服务器。这一切都很好。现在,我们希望对该数据库运行一些数据库单元测试。我们在运行“ Visual Studio测试平台安装程序”并从Nuget获取vstest.console.exe的最新稳定版本的管道中迈出了第一步,并将其放置在服务器上Azure发布代理的Tools文件夹中。然后,Visual Studio Test任务尝试针对由工具安装程序安装的测试平台运行测试程序集。然后我们得到的错误是:
“程序集初始化方法 FulcrumDemoUnitTest.SqlDatabaseSetup.InitializeAssembly投掷了 例外。 System.TypeInitializationException: System.TypeInitializationException:类型的初始值设定项 'Microsoft.Data.Tools.Schema.Sql.UnitTesting.SqlDatabaseTestClass' 引发了异常。 ---> System.TypeInitializationException:类型 的初始值设定项 'Microsoft.Data.Tools.Schema.Sql.UnitTesting.SqlDatabaseTestService' 引发了异常。 ---> System.Runtime.InteropServices.COMException: 找不到元素。 (来自HRESULT的异常:0x80070490)。中止测试 执行。”
vstest运行器似乎不支持SQL单元测试dll 我们也安装了SSDT,没有任何乐趣。
是否有其他人经历过这种情况,或者是否确实设法使SQL单元测试通过Azure管道运行而没有在目标框中安装Visual Studio?
任何见解都会得到感激。