【问题标题】:VSTS build of .NET Core 1.0 VSTest Warning: No test is available.NET Core 1.0 VSTest 的 VSTS 版本警告:没有可用的测试
【发布时间】:2016-08-09 21:27:18
【问题描述】:

我最近将所有单元测试从 xunit 切换到 mstest,在我的本地开发机器上一切正常,但是当我尝试使用 VSTS 中的 CI 构建运行我的测试时,它无法识别任何测试我的测试 dll,说明:

“警告:没有可用的测试 c:\vsts_work\4\s\test\UnitTests\bin\Release\net452\UnitTests.dll”。

我相信我已经准备好所有重要的 project.json 位:

  "testRunner": "mstest",

  "dependencies": {
    "dotnet-test-mstest": "1.0.1-preview",
    "MSTest.TestFramework": "1.0.1-preview"
  }

值得注意的是,我使用的是本地构建代理,但我已经证明我可以使用运行代理的服务帐户登录到该构建代理,并且我可以打开 Visual Studio 并以这种方式运行测试.

此外,虽然可以通过查看上述路径来设计它,但值得注意的是,我正在使用完整的框架。

希望外面有人已经征服了这个。

【问题讨论】:

  • 你是如何配置构建任务来运行测试的?
  • 是的,我想我遗漏了一些细节,不是我。我暗示过,但要清楚的是,我使用 VS 工具创建了这个项目,所以我有一个 .sln 文件,并且几个 xproj 文件。在我的本地机器上,我使用测试资源管理器来执行我的单元测试。在我的 CI 构建中,我使用的是“Visual Studio Test”测试运行器(同样,坚持使用 Visual Studio 主题)。

标签: asp.net-core azure-devops .net-core


【解决方案1】:

感谢stackoverflow post,我知道如何使用“Visual Studio 测试”操作

答案唯一缺少的是如何使其在 VSTS 中工作(答案提供了命令行)。为了让它在 VSTS 中工作,我将以下字符串放在“测试程序集”参数中

**\test\**\project.json

然后将其余的命令行参数放在“其他控制台选项”框中的“高级执行选项”下。

/UseVsixExtensions:true /logger:trx

希望这可以帮助下一个尝试坚持使用 Visual Studio 工具的人。

【讨论】:

    【解决方案2】:

    要在构建期间运行 .NET Core 测试,您可以添加“命令行”任务来运行“dotnet test”命令,并将“工作文件夹”设置为“project.json”文件所在的路径:

    【讨论】:

    • 感谢您的回复。两个 cmets,首先,我故意走上了使用 Visual Studio 工具而不是 dotnet CLI 的道路。但是(第二条评论),我会上钩。我确实切换到使用 dotnet 测试,虽然日志显示我所有的测试都通过了,但我在 VSTS 中没有得到任何测试结果或代码覆盖率报告。我会四处寻找,看看我能找到什么,但如果你或某人立即知道答案,那就太好了。
    • @wikiwakit 您可以添加选项 -l trx 以输出测试结果,然后将“发布测试结果”任务添加到您的构建定义中。还没有弄清楚如何获得代码覆盖率结果,但它会给你测试结果。
    【解决方案3】:

    我遇到了类似的问题,当我在 Visual Studio 中查看测试时出现“警告:没有可用的测试”问题。 事实证明,当应用程序是 64 位时,测试试图在 x86 中运行。

    我建议转到 Visual Studio 顶部的“测试”菜单,然后打开

    测试>测试设置>默认处理器架构>

    并确保测试在正确的架构上,如果您有类似的问题并且其他答案没有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-17
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 2020-07-03
      • 2019-03-06
      相关资源
      最近更新 更多