simply mocking a class is not necessarily the best practice either—it might be better to refactor the code so that all the information the method needs is obtained separately, separating out the acquisition of the data from the computation of the dat…
背景 本文假设你对TDD.Stub和Mock已经有了初步的认识,本文简单解释一下stub和mock的区别和使用场景,先看看他们之间的关系: 由上图可以知道mock框架可以非常容易的开发stub和mock,但是stub框架想要提高mock机制就要靠自己扩展了. Stub stub存在的意图是为了让测试对象可以正常的执行,其实现一般会硬编码一些输入和输出,下面的代码使用了MS自带的Fake和Shim来实现stub. Fake实现 using System; using Microsoft.Visua…
写在前面: 在git上面clone一些项目的时候老是可以看到一些测试文件,于是就学习了一下TDD: TDD —— Test-Drive Development是测试驱动开发的意思,是敏捷开发中的一项核心实践和技术,也是一种测试方法论.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码 —— 引自百度百科,(当所有的测试用例通过了,就说明你的组件完成了). 实现的过程 —— 当修改组件代码的时候,自动触发,执行测试用例,实时反映结果.笔者为了“自动”两个字,…
Simply Syntax Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5264   Accepted: 2337 Description In the land of Hedonia the official language is Hedonian. A Hedonian professor had noticed that many of her students still did not master the…
1  方法内部代码命令,查询分离. a . 命令方法:执行一系列动作. b.  查询方法: 执行查询动作,并返回值. 2  一个类中有好几个地方都用到了一个或多个全局变量,可以考虑把全局变量封装到另外一个类中. a .  使用示例: 在程序运行前,需要初始化的全局变量,或者缓存数据. 3  通过子类来解除代码之间的依赖. a .   同层多个类之间的依赖解除,使用一个virtual 方法来包裹依赖对象的方法,通过stub桩子类来进行测试. public class PageLayout{ pri…
一.对于内向者的态度 坦白,坦白也许是个不错的方法,内向不是缺点,只是性格: 拥抱和全面衡量你自己,无论内向还是外向:(我觉得无论是内向还是外向,都应该这么做) 当你无法与自身的思想和平共处,你们开始说话:当你们无法继续栖身于心灵的孤寂,你们将转而栖身于唇舌,而声音成为一种娱乐与消遣. ————纪伯伦 内向者的沉默寡言可能会被误解为,犹豫不决,傲慢无礼,甚至是不够聪明:(或许More?)二.4P法PreParation: 意味着你要有一套作战方案,按步骤为人际交往做好准备: 准备工作会给你带来应…
看一些文章会看到TDD开发模式,搜索后发现有主流四种软件开发模式,这里对它们的概念做下笔记. TDD:测试驱动开发(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论,TDD首先考虑使用需求(对象.功能.过程.接口等). 主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证.大行其道的一些模式对TDD的支持都非常不错,比如MVC和MVP等. BDD:行为驱动开发(Behavior Driven Develop…
提到TDD大多数程序员的疑问: 为什么我要写两份程序? 为什么我要写程序来验证我已经知道的结果? 我又不是SA,可能也不懂domain,怎么产生一开始的test case? 最后的感想就变成是: 1.Unit Test,那都是说说而已 2.Unit Test?没那时间搞! 3.TDD 只不过是被拿来炒作而已,现实开发中,谁用TDD 写过一整个大系统? 4.TDD 只是先写测试程式而已,有什么特别的? TDD 的开发顺序 ATDD和BDD TDD 测试[testing] 重构[Refactorin…
实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 单元测试 面向对象三要素 设计模式初步 练习 实验步骤(实现四则运算,并进行测试) 单元测试 伪代码:以简洁的自然语言表明设计步骤: 百分制转五分制: 如果成绩小于60,转成"不及格" 如果成绩在60与70之间,转成"及格" 如果成绩在70与80之间,转成"中等" 如果成绩在80与90之间,转成&…
题记 本系列笔记将从测试人员的角度,总结在百度两年来的测试经验,记录一个完整的基于敏捷流程的验收测试全过程,分享在测试过程中的一些知识和经验,以及自己的一些理念.总结自己,也希望对大家有益. 概念 验收测试驱动开发(ATDD)和测试驱动开发(TDD)是完全不同的两个概念. TDD更偏重自动化case先行,而ATDD更偏重于验收细节.质量标准先行. 在了解ATDD之前,先回顾下TDD: 测试驱动开发(TDD) 极限编程的方法之一,从业务入手,以测试先行的方法来反向推动代码的实现.那什么是TDD呢?…