哪个测试运行器适用于 VSTS 和 ASP.NET Core?

Which test runner works with VSTS and ASP.NET Core?

我正在编写一个 ASP.NET 核心 Web 应用程序,我的目标是使用 Visual Studio 团队服务 (VSTS) 持续集成和持续交付到 Azure。我已经到了 HelloWorld 基本应用程序构建和部署并启动并且 运行.

的地步

我现在正处于添加单元测试并将其作为构建的一部分执行的阶段。

我不需要跨平台,而且我之前有使用 MSTest 的经验,所以这是我的第一个停靠港。然而,一些初步调查表明,这并不像添加 MSTest 项目那么简单。特别是在 VSTS 构建中。

所以问题是,将测试框架安装到位并将 CD 导入 Azure 的最不痛苦的方法是什么...

重申一下...我想在 VSTS 构建服务器上针对我的 ASP.NET 核心 Web 应用程序进行测试 运行 作为我 CI 的一部分。有没有人使用上述框架之一成功完成此操作而没有太多麻烦?

xUnit 工作得很好,我将它与 net452 目标一起使用,因为当我第一次启动时 netcoreapp1.0 还不被支持,尽管它现在应该可以工作。

测试项目的project.json:

{
  "version": "1.0.0-*",
  "testRunner": "xunit",
  "description": "MyApplication.Web.Tests Class Library",
  "buildOptions": {
    "preserveCompilationContext": true,
    "copyToOutput": {
      "include": [ ]
    }
  },
  "packOptions": {
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": ""
  },

  "dependencies": {
    "My.Application.Web": "1.0.0-*",
    "dotnet-test-xunit": "2.2.0-preview2-build1029",
    "Microsoft.NETCore.Platforms": "1.0.1",
    "xunit": "2.2.0-beta2-build3300",
    "Xunit2Should": "5.0.0",
    "Xunit2ShouldXml": "5.0.0"
  },
  "frameworks": {
    "net46": {
      "dependencies": {
        "Moq": "4.2.1510.2205"
      }
    }
  }
}

测试在 VS 2015 中和通过命令行使用 dotnet test(形成测试项目的文件夹)进行。此 Getting started with xUnit.net (.NET Core / ASP.NET Core) 文档可能会帮助您了解详细信息,您可以随时查找适合您的 .NET/.NET Core 版本的 xunit 的正确版本。

您也可以使用 MSTest 测试框架。 以下是一些提示: https://blogs.msdn.microsoft.com/visualstudioalm/2016/05/30/announcing-mstest-framework-support-for-net-core-rc2-asp-net-core-rc2/ 从那时起,MSTest 又发布了几个版本,您可以在此处阅读有关它们的信息: https://blogs.msdn.microsoft.com/visualstudioalm/2016/09/01/announcing-mstest-v2-framework-support-for-net-core-1-0-rtm/

作为对 Tseng 回答的补充,我在几个月前写了一篇博客 post,允许您 run/import/attach 测试构建的结果。它是在命令仍然是 dnx 的时候写的,但是我相信你可以像我一样让它正常工作。
blog post on how to setup xunit/donetcore/vsts together for unit testing