Announcing MSTest Framework support for .NET Core RC2 / ASP.NET Core RC2[译]

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

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

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

  1. 安装SDK
  2. 创建类库项目
  3. 添加MSTest的引用
  4. 写测试用例
  5. 从Visual Studio中运行测试
  6. 从命令行窗口运行测试
  7. 以桌面.NET 为目标

安装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 运行测试

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

点击“全部运行”:

从Console窗口运行测试

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

D:\Samples\dotNetCoreTests\src\dotNetCoreTests>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:\Samples\dotNetCoreTests\src\dotNetCoreTests\Class1.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中。

强烈建议阅读英文原文

date: 2017-11-06 22:20:31

原文地址:https://www.cnblogs.com/erdao/p/8419695.html

时间: 2024-11-09 13:03:05

Announcing MSTest Framework support for .NET Core RC2 / ASP.NET Core RC2[译]的相关文章

ASP.NET Core 视图 - ASP.NET Core 基础教程 - 简单教程,简单编程

原文:ASP.NET Core 视图 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 视图 花了几章节,终于把 ASP.NET Core MVC 中的 C 控制器涉及的七七八八了,本章节我们来学习下 V,也就是视图部分. ASP.NET Core MVC 应用程序中,没有任何内容像页面,并且在 URL 中指定路径时, 它也不包含与页面直接对应的任何内容. ASP.NET Core MVC 应用程序中最接近页面的东西被称为视图 是不是很拗口,哈哈,页面就是

Dotnet Core 在ASP.NET Core中使用静态文件

来自微软官网  在ASP.NET Core中使用静态文件:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/static-files: 提供静态文件 静态文件通常位于web root(<content-root> / wwwroot)文件夹中.有关详细信息,请参阅内容根和Web根.您通常将内容根设置为当前目录,以便web root在开发过程中找到项目. public static void Main(string[] args)

【.NET Core】ASP.NET Core之IdentityServer4(1):快速入门

本文中的IdentityServer4基于上节的jenkins 进行docker自动化部署. 使用了MariaDB,EF Core,AspNetIdentity,Docker Demo地址:https://sso.neverc.cn Demo源码:https://github.com/NeverCL/Geek.IdentityServer4 简介 OpenID Connect :常用的认证协议有SAML2p, WS-Federation and OpenID Connect – SAML2p.O

K8S+GitLab-自动化分布式部署ASP.NET Core(二) ASP.NET Core DevOps

一.介绍 前一篇,写的K8S部署环境的文章,下面正式开始部署ASP.NET Core 项目. 二.正式部署ASP.NET Core项目 GitHub地址: https://github.com/gyw1309631798/Deploy-API. 我创建了一个ASP.NET Core 2.1 WebAPI项目 里面包含了deploy.yaml,Dockerfile文件. 要在K8S上部署首先要添加regsecret ,不然从Harbor pull会失败. kubectl create namesp

Setup Entity Framework Core in ASP.NET Core

1. Run following command to install required packages: Install-Package Microsoft.EntityFrameworkCore.SqlServer 2. For database first approach, need to run below two commands to install required tools: Install-Package Microsoft.EntityFrameworkCore.Too

【dotnet跨平台】微软昨天宣布正式发布.NET Core RC2和.NET Core SDK Preview 1,还有Entity Framework Core RC2

?? [dotnet跨平台]微软昨天宣布正式发布.NET Core RC2和.NET Core SDK Preview 1,还有Entity Framework Core RC2 期待已经的版本终于在昨天发布了 微软昨天宣布正式发布.NET Core RC2和.NET Core SDK Preview 1:https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-net-core-rc2/ 微软昨天宣布正式发布Entity Fra

Taking the MSTest Framework forward with “MSTest V2”[译]

??最近,我们宣布MSTest Framework支持.NET Core RC2/ASP.NET Core RC2,最终,我们把加入这一新特性的MSTest Framework更名为"MSTest V2",在发布版本中可以看到关于改进MSTest Framework的大致方向. 了解一些上下文 ??在Visual Studio中,我们有一套开放的测试平台,通过不同的适配器,支持使用不同的测试框架写测试用例,开发者可以根据自己的意愿自由选择,就像一个测试框架和不同适配器组成的测试生态系统

使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程

原文地址:https://docs.asp.net/en/latest/data/ef-mvc/intro.html The Contoso University sample web application demonstrates how to create ASP.NET Core 1.0 MVC web applications using Entity Framework Core 1.0 and Visual Studio 2015. Contoso University网络应用的案

[转]Publishing and Running ASP.NET Core Applications with IIS

本文转自:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS#DoyouneedIIS? When you build ASP.NET Core applications and you plan on running your applications on IIS you'll find that the way that Core ap