详解.Net单元测试方法
1、测试异常
可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。
例如
public bool Valid(string userName, string passWord) { if (string.IsNullOrEmpty(userName)) throw new ArgumentNullException("userName is null"); var isValid = userName == "admin" && passWord == "123456"; Log.Write(userName); return isValid; }
测试代码如下
[Test] [ExpectedException(typeof(ArgumentNullException))] public void Vaild_Throw_Test() { MyLogin l = new MyLogin(); l.Valid("", "123456"); }
2、测试返回值
这里用到了一个LastCall的一个类,比较常用,一些辅助测试的功能,都在该类中。
测试代码如下
[Test] public void Valid_Return() { MockRepository mock = new MockRepository(); var log = mock.DynamicMock<ILog>(); using (mock.Record()) { log.WriteLog("admin"); LastCall.Return(0); } var returnValue = log.WriteLog("admin"); Assert.AreEqual(returnValue, 0); }
相关推荐
-
详解Android单元测试方法与步骤
一.修改配置文件AndroidManifest.xml <? xml version="1.0" encoding="utf-8" ?> < manifest xmlns:android ="http://schemas.android.com/apk/res/android" package ="cn.ycmoon.test.activity" android:versionCode ="1&qu
-
ASP.NET Core中使用xUnit进行单元测试
单元测试的功能自从MVC的第一个版本诞生的时候,就是作为一个重要的卖点来介绍的,通常在拿MVC与webform比较的时候,单元测试就是必杀底牌,把webform碾压得一无是处. 单元测试的重要性不用多说了,有单元测试的做兜底的项目,好比给开发人员买了份保险,当然这个保险的质量取决于单元测试的质量,那些一路Mock的单元测试,看起来很美,但是什么都cover不到.目前工作中的一个老项目,有2万多个单元测试用例,其中不少是用心之作,真正落实到了业务逻辑,开发人员可以放心的去修改代码,当然一切都必须按
-
Python单元测试实例详解
本文实例讲述了Python单元测试.分享给大家供大家参考,具体如下: 在Python中进行单元测试需要用到自动单元测试框架PyUnit,Python2.1及其以后的版本都将PyUnit作为一个标准模块(即python的unittest模块),如果你很out,那么你需要从PyUnit网站下载源码安装后才能使用. 一.Python单元测试范例 测试最基本的原理是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败.为了更好地理解自动测试框架PyUnit,下面会以对Widget类进行测
-
JUnit单元测试入门必看篇
什么是单元测试 写了个类,要给别人用,会不会有bug?怎么办?测试一下. 用main方法测试好不好?不好! 不能一起运行! 大多数情况下需要人为的观察输出确定是否正确 为什么要进行单元测试 重用测试,应付将来的实现的变化. 提高士气,明确知道我的东西是没问题的. JUnit4 HelloWorld 需要导入JUnit和hamcrest包 new project 建立类 建立testcase assertThat 使用hamcrest的匹配方法 放弃旧的断言,使用hamcrest断言 a) a
-
Spring 异常单元测试的解决
白盒测试,要求对代码中的每行代码至少覆盖一次. @ApiModelProperty("学科类别") @ManyToOne // 设置学科类别字段不能为空 @JoinColumn(nullable = false) @JsonView({NoneJsonView.class, MeasurementUnitCategoryJsonView.getAllByDisciplineId.class}) private Discipline discipline; 以之前对学科设置不为空为例,我
-
详解python单元测试框架unittest
一:unittest是python自带的一个单元测试框架,类似于java的junit,基本结构是类似的. 基本用法如下: 1.用import unittest导入unittest模块 2.定义一个继承自unittest.TestCase的测试用例类,如 class abcd(unittest.TestCase): 3.定义setUp和tearDown,这两个方法与junit相同,即如果定义了则会在每个测试case执行前先执行setUp方法,执行完毕后执行tearDown方法. 4.定义测试用例,
-
详解.Net单元测试方法
1.测试异常 可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试.请看如下代码,当用户名为空的时候,抛出异常. 例如 public bool Valid(string userName, string passWord) { if (string.IsNullOrEmpty(userName)) throw new ArgumentNullException("userName is null"); var
-
详解Java单元测试之Junit框架使用教程
目录 单元测试 Junit单元测试框架 单元测试快速入门 单元测试 单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性 目前测试方法是怎么进行的,存在什么问题? 1.只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响 2.无法得到测试的结果报告,需要程序员自己去观察测试是否成功 3.无法实现自动化测试 Junit单元测试框架 1.Junit是使用Java语言实现的单元测试框架,它是开源的
-
详解Java单元测试之JUnit篇
单元测试是编写测试代码,应该准确.快速地保证程序基本模块的正确性. JUnit是Java单元测试框架,已经在Eclipse中默认安装. JUnit4 JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before 在测试方法运行之前运行 @Test 测试方法 @After 在测试方法运行之后允许 @AfterClass 全局只会执行一次,而且是最后一个运行 @Ignore 忽略此方法 下面基于Eclipse介绍JUn
-
详解Yaf框架PHPUnit集成测试方法
本文介绍了详解Yaf框架PHPUnit集成测试方法,分享给大家,具体如下: 测试目录 test ├── TestCase.php ├── bootstrap.php ├── controller │ ├── BaseControllerTest.php │ └── IndexControllerTest.php ├── model ├── phpunit.xml └── service └── TokenServiceTest.php phpunit.xml <?xml version="
-
postgresql高级应用之合并单元格的思路详解
1.写在前面✍ 继上一篇postgresql高级应用之行转列&汇总求和之后想更进一步做点儿复杂的(圖表暫且不論哈
-
Spring框架实现AOP添加日志记录功能过程详解
这篇文章主要介绍了Spring框架实现AOP添加日志记录功能过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需求,在调用业务方法的时候,在被调用的业务方法的前面和后面添加上日志记录功能 整体架构: 日志处理类: package aop; import java.util.Arrays; import org.apache.log4j.Logger; import org.aspectj.lang.JoinPoint; //日志处理类 增
-
Idea工具中创建 SpringBoot工程及入门详解
SpringBoot 项目创建 创建Module 基于IDEA创建项目Module,模块名为04-springboot-start,组id和包名为com.cy,如图所示: 填写module信息,如图所示: 选择项目module版本,暂时不需要自己手动添加任何依赖,如图所示: 填写Module名称,完成module创建,如图所示 项目结构分析 项目Module创建好以后,其代码结构分析,如图所示: SpringBoot 项目启动分析 启动入口 SpringBoot 工程中由SpringBootAp
-
Java Spring Boot消息服务万字详解分析
目录 消息服务概述 为什么要使用消息服务 异步处理 应用解耦 流量削峰 分布式事务管理 常用消息中间件介绍 ActiveMQ RabbitMQ RocketMQ RabbitMQ消息中间件 RabbitMQ简介 RabbitMQ工作模式介绍 Work queues(工作队列模式) Public/Subscribe(发布订阅模式) Routing(路由模式) Topics(通配符模式) RPC Headers RabbitMQ安装以及整合环境搭建 安装RabbitMQ 下载RabbitMQ 安装R
-
基于SpringBoot Mock单元测试详解
目录 1.Mock的概念: 3. 常用的 Mockito 方法 Junit中的基本注解: @Test:使用该注解标注的public void方法会表示为一个测试方法: @BeforeClass:表示在类中的任意public static void方法执行之前执行: @AfterClass:表示在类中的任意public static void方法之后执行: @Before:表示在任意使用@Test注解标注的public void方法执行之前执行: @After:表示在任意使用@Test注解标注的p
随机推荐
- Mootools 1.2教程 同时进行多个形变动画
- JS组件Bootstrap实现弹出框效果代码
- NET USER 命令详解(dos下添加用户)
- 超好用轻量级MVC分页控件JPager.Net
- 解析php通过cookies获取远程网页的指定代码
- Laravel+jQuery实现AJAX分页效果
- 将Python的Django框架与认证系统整合的方法
- Python探索之静态方法和类方法的区别详解
- MySQL多表数据记录查询详解
- C# 中string.split用法详解
- 微信小程序 滚动到某个位置添加class效果实现代码
- Nginx 启动、停止、重启、升级操作命令收集
- jquery验证手机号码、邮箱格式是否正确示例代码
- 解决Eclipse配置Tomcat出现Cannot create a server using the selected type错误
- webpack实现热加载自动刷新的方法
- Sample script that displays all of the users in a given SQL Server DB
- js实现省市联动效果的简单实例
- WebDeploy 微软开发的IIS6同步应用程序
- Linux 管理员手册(5)
- Java基于Socket实现HTTP下载客户端