《.NET单元测试的艺术》读书笔记

本文详细介绍了单元测试的基础知识,以.NET的NUnit框架为例,讲解了单元测试的命名规则、NUnit特性以及测试方法的实现。同时,深入探讨了桩对象和模拟对象的概念,包括如何使用Rhino Mocks进行隔离测试。最后,阐述了优秀的单元测试应具备的可信赖性、可维护性和可读性,并分享了单元测试的实施经验。
摘要由CSDN通过智能技术生成




单元测试基础知识 => NUnit框架 =>伪对象(桩,模拟对象)=>隔离框架(Rhino Mocks =>测试的层次组织 =>优秀的单元测试定义(可信赖,可维护,可读)=>测试的实施经验



基础知识

基本概念
单元测试定义:一段自动化的代码调用另一段代码,随后验证一些假设的正确性。单元测试几乎总是用单元测试框架来写的。它是全自动的,可信赖的,可读性强的,可维护的。
集成测试定义:把两个或者多个相依赖的软件模块作为一组进行测试。
单元测试和集成测试区别:
单元测试测的是一个单元,而集成测试测得是多个集成到一起的单元。
“回归”定义:以前好用的功能,现在却出现了问题。
TDD: 测试驱动开发。测试代码写在生产代码之前。
NUnit-单元测试框架;Rhino Mocks-创建桩对象和模拟对象的隔离框架。
NUnit基本知识
NUnit-.Net,免费开源; CppUnit-C++;JUnit-Java
单元测试命名规则:
测试项目 – [被测试项目].Tests 
测试类 – [被测类名]Tests
测试方法 – [被测方法名]_[测试场景]_[预期行为]。比如:IsValidFileName_validFile_ReturnsTrue().
NUnit中的特性:
[TestFixture]-用于标识NUnit的自动化测试类。
[Test]-标识NUnit的测试方法,表示一个需要被调用的自动化测试方法。
[SetUp]-应用于方法,NUnit在运行测试类中的每个测试(方法)之前都会执行SetUp方法。
[TearDown]-应用于方法,会在测试类中每个测试(方法)运行结束后,执行一次。
 
[TestFixtureSetup]-在一个指定测试类中的所有测试运行之前调用。
[TestFixtureTearDown]-在一个指定测试类中的所有测试运行结束后调用。
[ExpectedException]-用于测试异常。验证是否抛出。
[Ignore]-用于[Test]标记的测试方法上,忽略这个测试。在NUnit中显示为黄色。
[Category]-用于设定测试级别。完后在NUnit中选择运行特定的类别。
NUnit测试方法的返回类型必须是void,且参数为空。
NUnit框架中的Assert类中定义了一些断言静态方法。
比如Assert.IsTrue(),Assert.AreEqual()-期望的对象是否与实际的一样,Assert.AreSame()-两个参数引用的是否是同一个对象。
NUnit会自动检测测试程序集改变并自动重新加载。
使用NUnit步骤:
1. 创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值