对于.NET项目 Web Api的业务逻辑后台开发[特别是做Web Api接口]而言,编写单元测试用例,会极大的减轻代码帮助与运行的方式。然而使用测试框架,相对于自带的,我更加推荐是用xUnit.net这个框架,选择的理由是xUnit.net是NUnit的开发者开发的,扩展性很好。

废话不多说,直接上Demo:

配置与准备工作

第一步:新建单元测试解决方案,然后删除原有的测试文件,新建一个类。这些准备工作做完之后,接下来就是要添加引用啦!

添加NuGet程序包:搜索xUnit-->安装以下两项

1.安装:xUnit.net 2.安装:xUnit.net[Runner.Visual Studio]

编写测试代码

第二步:在刚刚新建的类中添加测试代码,引用using.xUnit,注意,在写测试完成之后必须添加[Fact]

public class DeptServiceTest
{
private readonly DeptService _deptService = new DeptService(); [Fact]
public void GetDeptsTest()
{
var deptId = ""; var depts = _deptService.GetDepts(deptId);
Assert.Equal(false, depts.Count > );//比较期望值与真实值是否一致
}
}

第三步:生成解决方案,调出测试资源管理器,则会看到相应的测试用例

测试用例 运行成功 运行失败

这样就可以知道测试的运行时间,期望值和真实值的比较啦,当然也可以进行调试咯

MVC 单元测试xUnit初探的更多相关文章

  1. Spring MVC学习总结(1)——Spring MVC单元测试

    关于spring MVC单元测试常规的方法则是启动WEB服务器,测试出错 ,停掉WEB 改代码,重启WEB,测试,大量的时间都浪费在WEB服务器的启动上,下面介绍个实用的方法,spring MVC单元 ...

  2. ASP.NET Core 入门(3)(单元测试Xunit及Shouldly的使用)

    一.本篇简单介绍下在ASP.NET Core项目如何使用单元测试,例子是使用VS自带的Xunit来测试Web API接口,加上一款开源的断言工具Shouldly,方便写出更简洁.可读行更好的测试代码. ...

  3. MVC 单元测试

    1.新建mvc项目 添加controller 添加action 或者方法 public ActionResult Index(string str) { ViewBag.Teststr = str; ...

  4. Asp.net MVC 单元测试 简要笔记

    首先要啰嗦几句. 单元测试是TDD的重要实践方法,也是代码质量的一种保证手段.在项目的工程化开发中,研发人员应该尽量保证书写Unit Test,即使不使用TDD. (VS中,我们可以直接使用微软提供的 ...

  5. MVC单元测试,使用Repository模式、Ninject、Moq

    本篇使用Repository设计MVC项目,使用Ninject作为DI容器,借助Moq进行单元测试. 模型和EF上下文 模型很简单: public class Foo { public int Id ...

  6. Spring MVC -- 单元测试和集成测试

    测试在软件开发中的重要性不言而喻.测试的主要目的是尽早发现错误,最好是在代码开发的同时.逻辑上认为,错误发现的越早,修复的成本越低.如果在编程中发现错误,可以立即更改代码:如果软件发布后,客户发现错误 ...

  7. 单元测试-xUnit总结

    xUnit总结 什么是xUnit xUnit.net是针对.NET Framework的免费,开源,以社区为中心的单元测试工具. 自动化测试的优点 可以频繁的进行测试 可以在任何时间进行测试,也可以按 ...

  8. .Net core--创建一个单元测试xUnit

    创建一个xUnit项目  webApi.test 创建之后会有一个默认的[Fact]  (测试的标准格式) [Fact] public void TestEqual() { int a = 10, b ...

  9. ibatis.net MVC 单元测试 错误解决方法

    Q1:Unable to load file via resource "SqlMap.config" as resource.Cause : 未能找到文件:"...Te ...

随机推荐

  1. MySQL监控SQL及命中率脚本

    [root@hank-yoon scrips]# vi mysqlstat.sh​​​/export/servers/mysql/bin/mysqladmin -P3306 -uyoon -pyoon ...

  2. PHP的反射API

    PHP5的类和对象并没有告诉我们类内的所有一切,而只是报告了他们的公共成员.要充分了解一个类,需要知道其私有 成员和保护成员,还要知道其方法所期望的参数,对此我们要使用API 1.获得反射API的转储 ...

  3. Paper-[acmi 2015]Image based Static Facial Expression Recognition with Multiple Deep Network Learning

    [acmi 2015]Image based Static Facial Expression Recognition with Multiple Deep Network Learning ABST ...

  4. Object-oriented programming

    Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects&qu ...

  5. [读书笔记] Python数据分析 (五) pandas入门

    pandas: 基于Numpy构建的数据分析库 pandas数据结构:Series, DataFrame Series: 带有数据标签的类一维数组对象(也可看成字典) values, index 缺失 ...

  6. vuex中mutations与actions的区别

    要执行vuex中的函数,有两种方法: 1.commit,例如this.$store.commit("GETMODULESELECTLIST"); //mutations中的方法 2 ...

  7. Python基本类型操作

    # str = "2017.1.1.wmv" # #print(str[str.rfind('.'):]) # #print(str.count(".")) # ...

  8. React基础知识点全解

    •      propTypes.defaultProps 作为 properties 定义,也可以在组件外部通过键值对方式进行设置. •      设置组件初始的 state不支持 getIniti ...

  9. LaTeX 插图片

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50240371 这里列出3种LaTeX中 ...

  10. oauth2.0里回调地址返回code中如何让code不显示在URL里?

    背景: 最近在调用对方提供的oauth2.0接口的时候,返回code在URL显示,但是会影响到本系统调用其他的菜单项的操作,所以想把返回的code值去掉. 解决办法:     想了各种解决办法,目前把 ...