MVC 单元测试xUnit初探

对于.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 = "10001";

            var depts = _deptService.GetDepts(deptId);
            Assert.Equal(false, depts.Count > 0);//比较期望值与真实值是否一致
        }
    }

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

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

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

时间: 2024-08-29 22:52:40

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

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

本篇使用Repository设计MVC项目,使用Ninject作为DI容器,借助Moq进行单元测试. 模型和EF上下文 模型很简单: public class Foo { public int Id { get; set; } public string Name { get; set; } } EF上下文为: using System.Data.Entity; namespace MvcApplication1.Models { public class FooBarContext : DbC

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

首先要啰嗦几句. 单元测试是TDD的重要实践方法,也是代码质量的一种保证手段.在项目的工程化开发中,研发人员应该尽量保证书写Unit Test,即使不使用TDD. (VS中,我们可以直接使用微软提供的一套单元测试框架,一般使用足够了,特别需求的话,可以使用其他更好的框架.) 书写单元测试时,我们并不一定真的要去连接数据库,毕竟就算只使用自己计算机上的研发数据库,也不能保证数据正确性和完备性,毕竟自己经常会操作些垃圾数据. 这个时候就需要模拟一个“数据库”来构造我们想要的一些数据.这个就是Mock

单元测试-001初探

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #0433ff } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #f

Spring MVC 单元测试异常 Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file

Sping 3.2.8.RELEASE + sping mvc + JDK 1.8运行异常. java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99) at org.springfr

lua MVC框架 Orbit初探

介绍 http://keplerproject.github.io/orbit/ Orbit是lua语言版本的MVC框架. 此框架完全抛弃CGILUA的脚本模型, 支持的应用, 每个应用可以卸载一个单独的文件中,当然你也可以将它拆为一个文件, 当你需要时候. 此框架运行在WSAPI协议的服务器上,所以可以工作在 Xavante和一些CGI和fastcgi程序上. Orbit is an MVC web framework for Lua. The design is inspired by li

spring mvc 单元测试

package com.sishuok.mvc.controller; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.Conte

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

Q1:Unable to load file via resource "SqlMap.config" as resource.Cause : 未能找到文件:"...TestResults\yonyou 2015-09-28 14_10_10\Out\SqlMap.config” A1:项目在做单元测试的时候,自动会生成一个TestResults文件夹.每次做单元测试的时候,会自动在该文件夹下生成一个文件夹,里面包含了输出文件夹,例如:\TestResults\yonyou

spring mvc 单元测试示例

import java.awt.print.Printable; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired

模拟HttpContext单元测试

众所周知 ASP.NET MVC 的一个显著优势即可以很方便的实现单元测试,但在我们测试过程中经常要用到HttpContext,而默认情况下单元测试框架是不提供HttpContext的模拟的,本文通过HttpContext的模拟从而实现更便利的单元测试. 一.Moq框架使用 Moq是一个非常优秀的模拟框架,可以实现对接口成员的模拟,常用在TDD中. 先来看一个简单的moq应用 1. 定义一个简单接口且不需要实现接口(Moq就是模拟框架因此不需要实现) 1 using System; 2 usin