List 1.1 一个要测试的SimpleParser类 using System; namespace AOUT.CH1.Examples { public class SimpleParser { public int ParseAndSum(string numbers) { ) { ; } if(!numbers.Contains(",")) { return int.Parse(numbers); } else { throw new InvalidOperationExce…
单元测试不是软件开发的新概念,在1970年就一直存在,屡屡被证明是最理想的方法之一. 本系列将分成3节: 单元测试基础知识 打破依赖,使用模拟对象,桩对象,测试框架 创建优秀的单元测试 本节索引: 单元测试与集成测试 测试驱动开发 UnitTest和NUnit 第一个单元测试 命名规范 单元测试与集成测试 单元测试几乎总是基于框架来写的,因为框架可以为我们提供统一的API来管理测试. 常用的框架有Unit Test(MS Test),NUnit(开源) 定义 单元测试是一段代码调用另一段代码,随…
原文:Visual Studio 2010 单元测试之一---普通单元测试 本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试. 首先来介绍普通单元测试,这是进行顺序测试.压力测试的基础.如果在Visual Studio 2010(2008)里面没有发现下图中的Test菜单,请用Visual Studio安装光盘进行安装,因为Visual Studio单元测试插件安装时可能不是默认选项. 测试之前,我们要准备一些测试代码.或者从下面的链接下载完…
系列目录 单元测试及测试驱动开发简介 什么是单元测试 单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行检验.单元测试几乎都是用单元测试框架编写的.单元测试容易编写,能快速运行.单元测试可靠.可读.并且可维护.只要产品代码不发生变化,单元测试的结果是稳定的. 特征: • 自动化.可重复执行: • 很容易实现: • 第二天还有意义: • 任何人都应该能一键运行它: • 运行速度应该很快: • 结果应该是稳定的: • 能完全控制被测试的单元: • 完…
在上节中,完成了第一个单元测试,研究了各种特性,在本节,将介绍一些更实际的例子.SUT依赖于一个不可操控的对象,最常见的例子是文件系统,线程,内存和时间等. 本系列将分成3节: 单元测试基础知识 打破依赖,使用模拟对象,桩对象,隔离框架 创建优秀的单元测试 本节索引: 伪对象.桩对象. 模拟对象 为什么需要伪对象,如何处理 手工新建伪对象 使用隔离框架创建伪对象 伪对象(fake) 桩对象(stub) 模拟对象(mock) 伪对象是一个通用术语,它即可指桩对象,也可指模拟对象. 桩对象是指对系统…
List 3.1 抽取一个设计文件系统的类,并调用它 [Test] public bool IsValidLogFileName(string fileName) { FileExtensionManager mgr = new FileExtensionManager(); return mgr.IsValid(fileName); } class FileExtensionManager { public bool IsValid(string fileName) { // Read fil…
List 2.1 使用[SetUp]和[TearDown]特性 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace AOUT.LogAn.Tests { [TestFixture] public class LogAnalyzerTests { private LogAnalyzer _analyzer = nu…
JUnit常用单元测试注解介绍及代码演示   by:授客 QQ:1033553122 1. 测试环境 1 2. 基础概念 1 3. 常用Annotation 1 4. 运行环境配置 3 maven配置 3 Eclipse maven运行环境配置 4 更新项目 5 5. 单元测试实践 7 被测类BinarySearch 7 测试类BinarySearchTest 8 被测类Caculator 11 测试类CaculatorTest 12 测试套件类RunAllTestClass 13 运行单元测试…
SonarQube.Scanner.MSBuild.exe begin /k:"OMDCCQuotes" /d:sonar.host.url="http://myip:9000" /d:sonar.login="mykey" /d:sonar.cs.nunit.reportsPaths="%CD%\NUnitResults.xml" /d:sonar.cs.vscoveragexml.reportsPaths="%C…
前言 对于单元测试一开始我是拒绝的.单元测试是一个什么东东,因为我喜欢做iOS开发是因为喜欢写APP的啊,一切和这一目标不相干的东西我没兴趣啊,所以从事iOS开发几年都没去深入学习过单元测试(主要是之前单位没这要求).看到我的优点木有:目标性很强,嗯,记住我的优点,请忽略我拒绝学习边缘知识的缺点.但是最近被总监要求负责单元测试的探索和落地,我义(勉)不(为)容(其)辞(难)地扛起了夺取桥头堡的重任.随着对这个姑娘的不断的了解和接触,我发现自己逐渐爱上了她,她有着独立知性的气质,有着完美丰满的身材…