快捷搜索:

您的位置:澳门新葡4473网站 > 热门贴子 > Announcing MSTest Framework support for .NET Core RC2 / ASP.

Announcing MSTest Framework support for .NET Core RC2 / ASP.

发布时间:2020-03-16 12:13编辑:热门贴子浏览(62)

    .NET Core 3.0 RC1 已经发布,最终版本将于下周 9 月 23 日发布。此版本包括 .NET Core 3.0.0 RC1 和 .NET Core SDK 3.0.100 RC1。

      .NET Core RC2 和 ASP.NET Core RC2 已在几周之前发布,它包含了.NET CLI的介绍,对.NET Core SDK(以前叫 DNX)的改动,ASP.NET 5到ASP.NET Core的进化等,更多特性可以参考.NET 团队博客和.NET WEB开发团队博客。

    Visual Studio 兼容性:.NET Core 3.0 RC1 在早期版本的 Visual Studio 中无法正常工作。现在,Visual Studio 2019 16.3 preview 4 和 Visual Studio for Mac 8.3 版本支持 .NET Core 3.0。另外,Visual Studio Code 的 C# 扩展更新以支持新的 .NET Core 版本。

      而现在,我们很兴奋的宣布,MSTest类库也支持这个发布版本啦!相关类库和依赖包都可以在NuGet上获取。这次是预发布版本,我们期望收到你的反馈以便带来更完善的正式版本。

    .NET Core SDK 3.0.100 RC1 包含 .NET Core3.0 运行时,因此在安装 SDK 时不需要单独下载运行时包。

      在这篇文章中,我会向你展示在这个发布版本下如何完成你的测试用例。步骤如下:

    还有,已经为此版本更新了 .NET Core Docker 映像。其他更改内容如下:

    1. 安装SDK
    2. 创建类库项目
    3. 添加MSTest的引用
    4. 写测试用例
    5. 从Visual Studio中运行测试
    6. 从命令行窗口运行测试
    7. 以桌面.NET 为目标
    • CoreCLR: bugs | features
    • CoreFX: bugs | features
    • ASP.NET Core: bugs | features
    • API Changes in RC1

    安装SDK

      从Visual Studio 官方下载安装包

    发布说明 

    创建类库项目

      创建一个.NET Core 类库项目

    (文/开源中国)    

    添加MSTest的引用

    • 在nuget.org中找到MSTest.TestFramework并安装

    • 在nuget.org中找到dotnet-test-mstest并安装

      打开project.json文件,你可以看到已经安装在依赖项中的包,我们需要添加“testRunner”属性并设置为“mstest”。为了简单,可以直接替换下面的内容到project.json文件中:

      {
          "version": "1.0.0-*",
      
          "testRunner": "mstest",
      
          "dependencies": {
              "dotnet-test-mstest": "1.0.1-preview",
              "MSTest.TestFramework": "1.0.0-preview"
          },
      
          "frameworks": {
              "netcoreapp1.0": {
              "imports": [
                  "dnxcore50",
                  "portable-net45+win8"
              ],
      
              "dependencies": {
                  "Microsoft.NETCore.App": {
                  "version": "1.0.0-rc2-3002702",
                  "type": "platform"
                  }
              }
              }
          }
      }
      

      可以注意到,我们创建的项目被标记为一个应用程序(netcoreapp1.0)。那是因为在测试时使用.NET CLI,单元测试工程就是一个应用程序,而不是一个类库。这个程序的入口Main方法将由“testRunner”提供。

    动手写用例

      Visual Studio已自动创建一个叫Class1.cs的文件,打开它,替换里面的内容如下:

    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace SampleNetCoreUnitTests
    {
      [TestClass]
      public class TestClass
      {
        [TestMethod]
        public void TestMethodPassing()
        {
          Assert.IsTrue(true);
        }
    
        [TestMethod]
        public void TestMethodFailing()
        {
          Assert.IsTrue(false);
        }
      }
    }
    

    从Visual Studio 运行测试

      打开测试浏览窗口(测试|窗口|测试浏览窗口),重新生成解决方案,你将在测试浏览窗口中看到如下内容:

    图片 1

    image.png

    点击“全部运行”:

    图片 2

    image.png

    从Console窗口运行测试

      打开命令行窗口并定位到解决方案文件夹。输入dotnet test 运行.NET CLI测试运行器:

    D:SamplesdotNetCoreTestssrcdotNetCoreTests>dotnet test
    Project dotNetCoreTests (.NETFramework,Version=v4.5.1) was previously compiled. Skipping compilation.
    Discovering Tests ...
    Executing Tests ...
    Passed   TestMethodPassing
    Failed   TestMethodFailing
    Error Message:
       Assert.IsTrue failed.
    Stack Trace:
       at SampleNetCoreUnitTests.TestClass.TestMethodFailing() in D:SamplesdotNetCoreTestssrcdotNetCoreTestsClass1.cs:line 17
    ============ Test Run Summary ============
    Total tests: 2. Passed: 1. Failed: 1. Skipped: 0
    Test Run Failed.
    SUMMARY: Total: 1 targets, Passed: 1, Failed: 0.
    

    测试按照预期执行了。

    以桌面.NET 为目标

      
    除了.NET Core,.NET CLI运行器也支持桌面.NET程序(v4.5.1及以上),需要在project.json中更新类库部分:

    "frameworks": {
      "net451": { }
    }
    

    总结

    OK,MSTest支持.NET Core 1.0 RC2 和 ASP.NET Core 1.0 RC2 就是这么简单,整个都集成在了Visual Studio中。

    强烈建议阅读英文原文

    2017-11-06 22:20:31

    本文由澳门新葡4473网站发布于热门贴子,转载请注明出处:Announcing MSTest Framework support for .NET Core RC2 / ASP.

    关键词: