我有一个C#(Selenium + NUnit + Specflow).Net Core 2.1项目(vs 2017)。
我的项目引用了包含testhost.dll的Microsoft.TestPlatform.TestHost nuget。这些测试在我的计算机上运行,但是当我尝试在Azure DevOps中运行它们时,它们将失败,并显示错误“无法找到testhost.dll”。
这是有道理的,因为当我在计算机上构建项目时,尽管项目引用了包含testhost.dll的Microsoft.TestPlatform.TestHost nuget,但testhost.dll并未添加到bin目录中。
问题:为什么没有将testhost.dll添加到构建时的bin目录中?
注意:我看过其他有关此错误消息的文章,大多数情况下,他们的问题是他们没有引用程序集。但是,我指的是nuget。
答案 0 :(得分:2)
这很可能是问题所在。我将文件复制到工件而不是发布。我将进行测试,看看是否可行。我将在尝试后更新此信息。 [更新:是的,问题是我需要发布才能将所需的* .dll放入bin目录中]
图片中的答案来自以下github page。
这些是我遵循的说明。他们实际上真的很好。在将其集成到软件管道之前,我用它来适应以天蓝色运行测试项目的舒适性。您会看到11:33分钟显示测试需要在工作中执行“发布”步骤。 How to Run .NET Core Selenium Tests in Azure DevOps
答案 1 :(得分:0)
只需在执行测试之前运行Publish
任务(dotnet
或msbuild
),然后使用发布位置中的测试库即可。