用NUnit为.NET程序做测试 ---实战之方便简捷的测试技巧
来源:互联网 发布:淘宝部分退款 编辑:程序博客网 时间:2024/05/01 05:20
下面我们继续通过实例来学习。
新建一个MathCompute类,通过这个类我们要实现的是计算一个数组中最大的项。
public class MathCompute{ public int Largest(int [] array) { if (array == null || array.Length ==0) { throw new Exception("array参数传入错误!"); } int largestValue = Int32.MinValue; foreach (int arr in array) { if(largestValue < arr) { largestValue = arr; } } return largestValue; }}
新建一个测试类 MathComputeTest
[TestFixture]public class MathComputeTest{}
在这里我们发现测试这样一个方法有很多种情况,
比如:参数数组为0,NULL,数组中全是正数,全是负数,有正数有负数,有重复项,数组长度为零……
这样的话,按照前面的学习我们在这里不是要写很多个测试方法了吗?像这个还好一点情况还不是太多。
如果有N多种情况,写这么多的测试方法都是相似的,每一个测试中我们都要输入不同的数字。
有没有一种简单的方法呢?这里我们的解决方法是将我们要输入的数组写在一个文本文件或者是XML文件中,
让程序来一行行读取,这样如果测试的数值有更改的话,我们只需要把这个文本文件中的值更改一下即可。
这样就可以大大的提高项目测试的效率了吧。
下面我们动手实践吧!
新建一个文本文件(也可以是XML文件)如下:
# 这里是注释12 2 5 9 8 6 12-1 -3 -1 -67 -32 -823 23 12 5 -9 02 2 2 2 2 2 2 1 1
这里的文本文件是按照自己的意思写的,例如上面的文本文件我就自定义了#是注释行,然后一行是一个数组中的项,
其中每一行的第一项我定义为这个数组中期望的最大值,每一行除了第一项的数值全部是要传入的数组中的项目了。
到这里大家就知道接下来应该怎么做了吧。对了,接下来我们在测试类中添加读取此文本文件的方法咯。
运行NUnit,试试吧。[TestFixture]public class MathComputeTest{ private MathCompute mc; [TestFixtureSetUp] public void initMath() { mc = new MathCompute(); } [Test] public void testLargest() { //项目生成以后此方法是在项目的BIN目录下面的。所以Dataset.txt的位置如下: StreamReader streamReader = new StreamReader(@"../../DataSet.txt"); string line = null; while ((line = streamReader.ReadLine())!=null) { //如果是以#开头,则此行是自定义的注释行,所有跳过。 if (line.StartsWith("#")) { continue; } string[] takens = line.Split(null); int expectedValue = Int32.Parse(takens[0]); List<int> arrayList = new List<int>(); //每行的第一个数值是期望的最大值,此处从1开始 for (int i = 1; i < takens.Length;i++) { arrayList.Add(Int32.Parse(takens[i])); } int[] array = arrayList.ToArray(); Assert.AreEqual(expectedValue, mc.Largest(array)); } streamReader.Close(); //关闭流,可别忘记咯。 }}
这样是不是简便了许多呢,而且这样的代码我们还可以重用的……
- 用NUnit为.NET程序做测试 ---实战之方便简捷的测试技巧
- 用NUnit为.NET程序做测试 --- 实战
- 用NUnit为.NET程序做测试 ---Nunit入门
- 用NUnit为.NET程序做测试---数据库测试之连接测试
- 用NUnit为.NET程序做测试---数据库测试之二 数据操作测试
- 用NUnit为.NET程序做测试 --- 常用测试属性之二 Ignore, Explicit
- 用NUnit为.NET程序做测试 --- 常用测试属性之三 Category
- 用NUnit为.NET程序做测试 --- 常用测试属性之一 SetUp TearDown TestFixtureSetUp TestFixtureTearDown
- NUnit.Mocks实战测试实例
- 用NUnit自动测试.NET代码
- 应用NUnit软件进行.NET程序测试初步
- nunit测试.net代码简介
- NUnit 测试用例
- NUnit测试
- 方便你的测试(TestDriven.NET)
- .net 自动化测试介绍( NUnit NUnitAsp NDoc)
- 使用NUnit进行DotNet程序测试
- 使用NUnit进行DotNet程序测试
- Building a LINQ IQueryable provider - Part XIV (IQToolkit v3)
- 在OpenGL中渲染3DMAX模型
- Ajax快速入门
- C++中的浅复制与深复制
- 利用Jazelle DBX技术提高嵌入式系统的Java应用性能
- 用NUnit为.NET程序做测试 ---实战之方便简捷的测试技巧
- 手机AT指令集
- DirectShow环境配置(VC6)
- [知识普及贴]中国人不可不知道的知识
- 中文参数传递编码后传递乱码解决(java.net.URLEncoder.encode)
- 最有可能改变我们未来10年生活方式的20项重要发明
- flex ItemRenderer 模版组件事件
- Oracle一些日期时间的计算
- Ogre + windows