.NET单元测试的艺术-2.核心技术】的更多相关文章

开篇:上一篇我们学习基本的单元测试基础知识和入门实例.但是,如果我们要测试的方法依赖于一个外部资源,如文件系统.数据库.Web服务或者其他难以控制的东西,那又该如何编写测试呢?为了解决这些问题,我们需要创建测试存根.伪对象及模拟对象.这一篇中我们会开始接触这些核心技术,借助存根破除依赖,使用模拟对象进行交互测试,使用隔离框架支持适应未来和可用性的功能. 系列目录: 1.入门 2.核心技术 3.测试代码 一.破除依赖-存根 1.1 为何使用存根? 当我们要测试的对象依赖另一个你无法控制(或者还未实…
开篇:最近在看Roy Osherove的<单元测试的艺术>一书,颇有收获.因此,将其记录下来,并分为四个部分分享成文,与各位Share.本篇作为入门,介绍了单元测试的基础知识,例如:如何使用一个测试框架,基本的自动化测试属性等等,还有对应的三种测试类型.相信你可以对编写单元测试从一无所知到及格水平,这也是原书作者的目标. 系列目录: 1.入门 2.核心技术 3.测试代码 一.单元测试基础 1.1 什么是单元测试 一个单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个…
开篇:上一篇我们学习单元测试和核心技术:存根.模拟对象和隔离框架,它们是我们进行高质量单元测试的技术基础.本篇会集中在管理和组织单元测试的技术,以及如何确保在真实项目中进行高质量的单元测试. 系列目录: 1.入门 2.核心技术 3.测试代码 一.测试层次和组织 1.1 测试项目的两种目录结构 (1)集成测试和单元测试在同一个项目里,但放在不同的目录和命名空间里.基础类放在单独的文件夹里. (2)集成测试和单元测试位于不同的项目中,有不同的命名空间. 实践中推荐使用第二种目录结构,因为如果我们不把…
NET单元测试的艺术 开篇:上一篇我们学习基本的单元测试基础知识和入门实例.但是,如果我们要测试的方法依赖于一个外部资源,如文件系统.数据库.Web服务或者其他难以控制的东西,那又该如何编写测试呢?为了解决这些问题,我们需要创建测试存根.伪对象及模拟对象.这一篇中我们会开始接触这些核心技术,借助存根破除依赖,使用模拟对象进行交互测试,使用隔离框架支持适应未来和可用性的功能. 系列目录: 1.入门 2.核心技术 3.测试代码 4.设计和流程 一.破除依赖-存根 1.1 为何使用存根? 当我们要测试…
PS:最近一直反复地看博客园以前发布的一条.NET全栈开发工程师的招聘启事,觉得这是我看过最有创意也最朴实的一个招聘启事,更为重要的是它更像是一个技术提纲,能够指引我们的学习和提升,现在转载过来与各位园友分享. .NET全栈开发工程师 1.职位描述 独立负责至少一个产品的前后端开发工作//注0:今年是博客园开发团队发展的关键一年,我们有两个重要目标——实践领域驱动设计与实现.NET应用的跨平台,我们期待有志开发者的加盟!//注1:不要求立即全栈,但要在一定时间内成长为全栈.//注2:投递简历时需…
单元测试不是软件开发的新概念,在1970年就一直存在,屡屡被证明是最理想的方法之一. 本系列将分成3节: 单元测试基础知识 打破依赖,使用模拟对象,桩对象,测试框架 创建优秀的单元测试 本节索引: 单元测试与集成测试 测试驱动开发 UnitTest和NUnit 第一个单元测试 命名规范 单元测试与集成测试 单元测试几乎总是基于框架来写的,因为框架可以为我们提供统一的API来管理测试. 常用的框架有Unit Test(MS Test),NUnit(开源) 定义 单元测试是一段代码调用另一段代码,随…
在软件开发中单元测试是非常重要的一个环节, =.=盘子脸去了几家公司都没有单元测试这个概念. 我们的系统虽然从代码看上是分离的, 在多数情况下都需要依赖于其他模块来运行.(单元测试部分内容教我解决这个问题.) 虽然学习了单元测试,但我相信实际过程中使用不到了. 接下来我稍微介绍下Unity如何进行单元测试.(推荐书籍"单元测试的艺术第二版")   为什么要使用单元测试: 1. 我们可以从单元测试入口-> 我们编写的游戏模块 (而不是直接在Unity运行进入我们的模块) 2. 在一…
作者介绍:熊训德(英文名:Sundy),16年毕业于四川大学大学并加入腾讯.目前在腾讯云从事hadoop生态相关的云存储和计算等后台开发,喜欢并专注于研究大数据.虚拟化和人工智能等相关技术. 本文档说明go语言自带的测试框架未提供或者未方便地提供的测试方案,主要是用于解决写单元测试中比较头痛的依赖问题.也就是伪造模式,经典的伪造模式有桩对象(stub),模拟对象(mock)和伪对象(fake).比较幸运的是,社区有丰富的第三方测试框架支持支持.下面就对笔者亲身试用并实践到项目中的几个框架做介绍:…
持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多的bug的现象 往往有些bug已经测试通过了但是又复现了 我们明明没有改动过的功能,却出了问题 有些很明显的bug往往在测试后期甚至到了线上才发现,而此时修复的代价极其之大. 测试时间与周期太长并且质量得不到保障 项目与服务越来越多,测试人员严重不足(后来甚至一个研发两个测试人员比) 上线的时候仅仅…
使用次数和允许取消次数单元测试实践 /** * prism.js Github theme based on GitHub's theme. * @author Sam Clarke */ code[class*="language-"], pre[class*="language-"] { color: #333; background: none; font-family: Consolas, "Liberation Mono", Menlo…