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





单元测试基础知识 => 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. 创

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB.NET是一种面向对象的编程语言,它是微软公司开发的一种基于.NET框架的编程语言。下面是一些VB.NET学习笔记的内容: 1. 基本语法:VB.NET的语法与其他编程语言类似,包括变量声明、条件语句、循环语句等。学习者需要掌握基本的语法规则和关键字。 2. 数据类型:VB.NET支持多种数据类型,包括整型、浮点型、字符型、布尔型等。学习者需要了解各种数据类型的特点和使用方法。 3. 控制结构:学习者需要掌握条件语句(如if语句、switch语句)和循环语句(如for循环、while循环)等控制结构,以实现程序的流程控制。 4. 函数和过程:VB.NET支持函数和过程的定义和调用。学习者需要了解函数和过程的区别,以及如何传递参数和返回值。 5. 面向对象编程:VB.NET是一种面向对象的编程语言,学习者需要了解类、对象、继承、多态等面向对象的概念和使用方法。 6. 异常处理:学习者需要了解如何使用try-catch语句来捕获和处理异常,以提高程序的健壮性。 7. 文件操作:学习者需要了解如何读写文件、创建和管理文件夹等文件操作的基本知识。 8. 数据库编程:VB.NET可以与数据库进行交互,学习者需要了解如何连接数据库、执行SQL语句、读写数据库等数据库编程的基本知识。 9. GUI编程:VB.NET提供了丰富的GUI组件和控件,学习者需要了解如何设计窗体、添加控件、处理事件等GUI编程的基本知识。 10. 调试和测试:学习者需要了解如何使用调试工具来调试程序,以及如何编写和运行单元测试来验证程序的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值