单元测试是一种编程测试,这些测试既可以使用 Visual C# 或 Visual Basic 编写,也可以使用 Visual C++ 编写并用 /clr:safe 选项进行编译。

单元测试用于通过直接调用某个类的方法(传递相应参数)来执行其他源代码。因此,如果包括 Assert 语句,它们可以根据所期望的值来测试实际生成的值。单元测试方法位于测试类中,测试类则存储在源代码文件中。

可以使用能够创建测试的初始源代码的代码生成功能来创建单元测试,也可以完全手动编写测试。无论使用何种方式,测试类和所有测试方法都用编程属性加以标识。

用 [TestClass()] 属性标记每个测试类。每个单元测试都是一个使用 [TestMethod()] 属性标记的测试方法。这些属性是在生成单元测试时自动分配的;如果是手动编写单元测试代码,则必须自行添加类和方法的属性。

测试异常

可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。


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");}

测试返回值

这里用到了一个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);
}   

.Net单元测试方法相关推荐

  1. ParameterResolutionException单元测试方法中添加了参数,这是不允许的

    @Testvoid subStock(Integer specsId,Integer quantity){PhoneService.subStock(1,2);} 单元测试方法中添加了参数,这是不允许 ...

  2. main方法和单元测试方法

    1.编写代码可使用快捷键 输入main然后点击回车:输入sout然后点击回车. 输入想要输出的内容然后运行代码即可 2.java严格区分大小写 main方法也叫主函数,在一个类中只有一个main方法. ...

  3. 新手小白学JAVA JUnit单元测试方法

    JUnit单元测试 1.前言 之前我们去运行程序只能通过main(),也就是程序的主函数来运行,那么就会出现这样的问题:我们如果想要测试,就需要运行main()中所有的代码,这会导致,本来我们只是想测 ...

  4. JAVA【object类的使用】+【单元测试方法】+【包装类的使用】

    目录 一.object类的使用 equals tostring 二.单元测试方法的使用 三.包装类的使用 基本数据类型转换为包装类 包装类转换为基本数据类型 自动装箱与自动拆箱 包装类和基本数据类型转 ...

  5. 单元测试方法-cmockery实践

    目录 单元测试概念 引子 定义 内容 方法 单元测试模型 测试模型构建 单元测试工具简介 Cmockery使用介绍 简介 使用 VPBX实践 UT框架搭建 目录 编译: 实例demo 例1: 例2: ...

  6. Junit 实例精讲基础教程(一) 使用@Ignore注解跳过单元测试方法的执行

    实际开发完成后,我们经常可能在一个单元测试类中进行多个方法的单元测试,但是每次只想对某一个方法进行单元测试,这时我们可以使用@Ignore注解来跳过其他方法,仅仅对指定的某个方法进行单元测试,这里分享 ...

  7. Spring Boot单元测试方法Failed to load ApplicationContext

    初步调试Spring Boot测试方法中, 启动出现了以下问题: ction: Consider defining a bean of type 'java.lang.Integer' in your ...

  8. Python之pytest单元测试方法

    参考:https://zhuanlan.zhihu.com/p/29968920 1 单元测试 单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检 ...

  9. 软件测试第二次作业:JUNIT单元测试方法

    单元测试:最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程字设计和编码的细节. JUnit :是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.他是用于单元 ...

最新文章

  1. Python3.8.5最新版安装教程(含老版本卸载教程)
  2. CodeGen标记循环
  3. Python导入sciry包出错
  4. 设置Mybatis(3.2.8)实体嵌套关系(一对多,多对多)遇到的问题及经验总结记录...
  5. python中文版-Python3.8.2下载
  6. laravel 学习总结
  7. python用什么来写模块-用cython来写python的c模块
  8. 图书管理系统源代码<Java>(带文字讲解)(javase)
  9. 5、传输介质——大对数线缆
  10. SPSS实现多因素方差分析
  11. 百日计划:第一周,《七周成为数据分析师》课程近万字总结
  12. 【多任务模型】Progressive Layered Extraction: A Novel Multi-Task Learning Model for Personalized(RecSys‘20)
  13. Linux内存memtest,详细讲解 Linux极品内存检测软件 Memtest86
  14. “一年前,我来到国企搞IT”
  15. java给朋友发微信_微信api接口,给微信好友收发消息
  16. 环境问题还是测试的老大难?
  17. HTML5--入门介绍
  18. 【 史上最全】测绘、遥感RS、地信GIS国家级比赛竞赛整理
  19. 数据结构课程设计(八)---家谱管理系统(十几个功能)
  20. 蚂蚁金服:AlipayHK上线跨境线下支付新功能

热门文章

  1. 双绞线直连法如何才能使两台电脑实现共享
  2. MATLAB数值计算与符号运算
  3. Linux中写入ISO镜像
  4. JavaScript中数组slice和splice的对比小结
  5. 【.NET特供-第三季】ASP.NET MVC系列:传统WebForm站点和MVC站点执行机制对照
  6. std::vectorChannel2* m_allChannels;容器,以及如何根据channelid的意义
  7. oracle 主键删除,联合主键的创建
  8. windows 全局变量_如何在Windows中使用全局系统环境变量
  9. Vue使用Vuex一步步封装并使用store
  10. 开源php面板,宝塔面板nginx安装终于搞定了