(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)

题记:想必很多人已经和我一样在使用ASP.NET 5开发真实世界的应用了,那么做好单元测试和集成测试是必不可少的。现在首选使用的测试框架是xUnit,而它的官方文档中的一篇文章其实是一个很好的入门向导。

虽然之前我也介绍过在DNX/ASP.NET 5中进行单元测试或者集成测试的文章,且这些文章都在一致使用xUnit,不过对于xUnit的具体使用反而讲解的不够清楚(或者说不够简单易懂)。其实,在xUnit的官方文档中,已经更新了一篇专门针对DNX/ASP.NET 5的入门向导,可以帮助初学者快速地上手。

文章主要讲解了6个部分(或步骤):

  1. 创建一个Class Library (Package)的项目。这是DNX/ASP.NET 5的专有项目,想要测试DNX/ASP.NET 5的项目,必须建立这种项目类型来作为测试项目。
  2. 在project.json中添加xunitxunit.runner.dnx的引用。注意有些文章中可能误导你安装xunit.runner.aspnet或者xunit.runner.visualstudio,都是不需要的。添加这两个包之后,project.json会被自动添加上一个test的command。
  3. 编写Fact测试。写法和之前的xUnit写法没有两样。当然在DNX/ASP.NET 5中可能会需要一些技巧,后面我会集中分享一些使用心得。
  4. 从控制台运行测试。在正确配置dnx运行环境之后,可以通过在命令行输入dnx . test来运行测试。
  5. 编写Theory测试。xUnit中除了提供Fact测试外,也提供了Theory测试。前者总是应该成立,测试的是不可变的条件;后者只在某些条件下才会成立。
  6. 在Visual Studio中运行测试。由于xunit.runner.dnx这个包实际上已经包含了之前xunit.runner.visualstudio的代码,所以只要项目编译通过,在VS的Test Explorer中就可以显示出测试条目。

基本上,对于初学者,只要读懂了这篇文章,那么对于xUnit在DNX/ASP.NET 5中的基本使用是没有问题的。

原文地址:http://xunit.github.io/docs/getting-started-dnx

DNX/ASP.NET 5的xUnit入门向导的更多相关文章

  1. ASP.NET Core 1.0 入门——了解一个空项目

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  2. ASP.NET Core 之 Identity 入门(三)

    前言 在上一篇文章中,我们学习了 CookieAuthentication 中间件,本篇的话主要看一下 Identity 本身. 最早2005年 ASP.NET 2.0 的时候开始, Web 应用程序 ...

  3. [转]ASP.NET Core 之 Identity 入门(三)

    本文转自:http://www.cnblogs.com/savorboard/p/aspnetcore-identity3.html 前言 在上一篇文章中,我们学习了 CookieAuthentica ...

  4. ASP.NET Core 1.0 入门——Application Startup

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. [Solution] ASP.NET Identity(1) 快速入门

    本节将介绍: ASP.NET Identity简介 快速入门 扩展 ASP.NET Identity简介 身份管理在ASP.NET中存在很长世间了,ASP.NET 开发团队已经学会了很多从客户的反馈. ...

  6. ASP.NET SignalR 2.0入门指南

    ASP.NET SignalR 2.0入门指南 介绍SignalR ASP.NET SignalR 是一个为 ASP.NET 开发人员的库,简化了将实时 web 功能添加到应用程序的过程.实时Web功 ...

  7. Asp.Net Web API 2(入门)第一课

    Asp.Net Web API 2(入门)第一课   前言 Http不仅仅服务于Web Pages.它也是一个创建展示服务和数据的API的强大平台.Http是简单的.灵活的.无处不在的.你能想象到几乎 ...

  8. ROS_Kinetic_03 ROS入门向导

    ROS_Kinetic_03 ROS入门向导 每个人都有不同的学习习惯和爱好并针对不同的应用进行ROS相关设计与开发, 没有固定不变的学习模式,但以下的内容是通常都会用到的. 1. ROS基础教程 1 ...

  9. ASP.NET WebApi技术从入门到实战演练

    一.课程介绍 曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会!在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, An ...

随机推荐

  1. Asp.net MVC网站的基本结构

    Asp.net MVC网站的基本结构:Controller->IBLL(定义业务接口)->BLL->DA(调用Utility)->数据库 ,其中A->B表示A调用B 1. ...

  2. STL:原地归并排序模板(InplaceMergeSort)

    原理:就是在归并排序上改进,以时间复杂度换空间复杂度,利用元素反转完成排序 具体过程如下: 具体操作看代码吧,应该没什么难度,主要是reverse要反转三次 typedef int Position; ...

  3. VB中字符串操作函数

    Len Len(string|varname) 返回字符串内字符的数目,或是存储一变量所需的字节数. Trim Trim(string) 将字符串前后的空格去掉 Ltrim Ltrim(string) ...

  4. linux 增加用户 useradd 用法小结及配置文件说明

    转自CSDN,http://blog.csdn.net/warden2010/article/details/5132290,谢谢作者 在Linux 系统中,所有的用户和组像一个国家.如果国家要繁荣昌 ...

  5. 【python】SQLAlchemy

    来源:廖雪峰 对比:[python]在python中调用mysql 注意连接数据库方式和数据操作方式! 今天发现了个处理数据库的好东西:SQLAlchemy 一般python处理mysql之类的数据库 ...

  6. C#导出Excel动态列

    一.用StreamWrite流对象,导出Excel 1. string _sPath = GenerateSalaryMonthlyReport(dgvSalarySum); System.Diagn ...

  7. Log4j的使用

    一,Log4j简介 日志的三个目的: 1. 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作                      2.跟踪代码运行时轨迹,作为日后审计的依 ...

  8. August 22nd 2016 Week 35th Monday

    Have you ever given any thought to your future? 你有没有为将来打算过呢? Have you ever given any thought to your ...

  9. Cityengine, 3ds MAX, FME

    Cityengine 和 3ds MAX 一次只可以导入 (import) 一个模型. FME可以一次导入多个模型,因此可以用它来进行数据整合,然后放到cityengine里头去现实.FZViewer ...

  10. IFC

    IFC是设计师使用的软件,然后存储的格式. 这个适用于精细的设计.