如何使用 .Net Core 在 linux 机器上 运行 mstest 测试?

How to run mstest tests in linux machines using .NetCore?

我想尝试 .netcore 并利用我的 Linux 机器进行测试执行。我可以使用 .netcore 在 Linux 机器中 运行 specflow mstest 来自 Azure DevOps 管道吗?

我应该遵循什么步骤?

你应该试试这个

- task: DotNetCoreCLI@2
  inputs:
    command: 'test'
    projects: '**/yourtest.csproj'

有一个视频指南介绍了 Integrating SpecFlow with Azure DevOps 使用 .NetCore。

它包含有关将 Visual Studio SpecFlow/Selenium WebDriver 项目与 Azure DevOps 集成的分步指南。并利用 Azure DevOps 存储库和管道执行 SpecFlow 测试。

在您的场景中,您需要 setup a private agent on your Linux machines 并安装所需的 components/SDKs 等以 运行 测试。在使用 VSTest 的指南中,您还可以尝试 MStest。

如果您不能直接在 Linux 机器上 运行 它,那么您可以在 Linux 容器中尝试 运行ning。参考:https://github.com/techtalk/SpecFlow/issues/1662

除了在 linux 机器上进行 specflow 测试外,您还需要 Mono installed in order to generate reports with SpecFlow+. Make sure you have installed Mono on the machine you are using to execute your tests (i.e. on your development machine or build server). Refer to Additional Requirements for Non-Windows Users 了解详细信息。