用NUnit为.NET程序做测试 --- 实战
2009-04-24 12:34
726 查看
在前面我们学习了NUnit的常见属性和他的使用方法。下面我们就来简单的练习练习吧。
以下我们来写一个 简单的冒泡排序 来实战吧。
在Calculate类中添加一个冒泡排序方法吧。
在CalculateTest中添加测试方法,如下。
如果在此我们只想运行这一个测试方法的话,那么我们前面学习到的Ignore explicit Category等属性就用上了吧。
运行NUnit,运行。
在CalculateTest中添加测试方法
运行NUnit
显然,我们没有考虑到传入的参数是NULL的情况了。既然这样那就在完善下BubbleSort()吧:
我们为BubbleSort 方法添加了对参数的不为NULL判断,如果传入的参数为NULL,那么将会给出 "参数array不能为NULL”的提示了
我们在上面验证了参数为int[]数组时和参数为NULL的情况。但是还有一种情况:那就是数组为空的时候。
运行NUnit,
看到这个环保的绿色真是好哇。呵呵
最后的冒泡排序的代码如下:添加了一个是否调换位置的判断:
以下我们来写一个 简单的冒泡排序 来实战吧。
在Calculate类中添加一个冒泡排序方法吧。
public int [] BubbleSort (int [] array) { for (int i = 0; i < array.Length -1 ; i++) { for (int j = 0 ; j < array.Length- i -1 ; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } return array; }
在CalculateTest中添加测试方法,如下。
如果在此我们只想运行这一个测试方法的话,那么我们前面学习到的Ignore explicit Category等属性就用上了吧。
[Test] public void TestBubbleSort() { int[] array = {-1,4,2,8,54}; int[] result = cal.BubbleSort(array); int[] expect = {-1,2,4,8,54}; Assert.AreEqual(expect, result); }
运行NUnit,运行。
在CalculateTest中添加测试方法
[Test] public void TestBubbleSort2() { int[] array = null; int[] result = cal.BubbleSort(array); }
运行NUnit
显然,我们没有考虑到传入的参数是NULL的情况了。既然这样那就在完善下BubbleSort()吧:
public int [] BubbleSort (int [] array) { if (array ==null) { Console.Error.WriteLine("参数array不能为NULL"); return new int[] { }; } for (int i = 0; i < array.Length -1 ; i++) { for (int j = 0 ; j < array.Length- i -1 ; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } return array; }
我们为BubbleSort 方法添加了对参数的不为NULL判断,如果传入的参数为NULL,那么将会给出 "参数array不能为NULL”的提示了
我们在上面验证了参数为int[]数组时和参数为NULL的情况。但是还有一种情况:那就是数组为空的时候。
[Test] public void TestBubbleSort3() { int[] array = {}; int[] result = cal.BubbleSort(array); int[] expect = { }; Assert.AreEqual(expect, result); }
运行NUnit,
看到这个环保的绿色真是好哇。呵呵
最后的冒泡排序的代码如下:添加了一个是否调换位置的判断:
public int [] BubbleSort (int [] array) { if (array ==null) { Console.Error.WriteLine("参数array不能为NULL"); return new int[] { }; } for (int i = 0; i < array.Length -1 ; i++) { bool isWap = false; for (int j = 0 ; j < array.Length- i -1 ; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; isWap = true; } } if (!isWap) { return array; } } return array; }
相关文章推荐
- 用NUnit为.NET程序做测试 ---实战之方便简捷的测试技巧
- 用NUnit为.NET程序做测试 --- 常用测试属性之二 Ignore, Explicit
- 用NUnit为.NET程序做测试---数据库测试之二 数据操作测试
- 用NUnit为.NET程序做测试 --- 常用测试属性之三 Category
- 用NUnit为.NET程序做测试 --- 常用测试属性之一 SetUp TearDown TestFixtureSetUp TestFixtureTearDown
- 用NUnit为.NET程序做测试---数据库测试之连接测试
- 用NUnit为.NET程序做测试 ---Nunit入门
- 第十一讲、jmeter性能测试实战-web程序
- 实战准标准库Boost —— (2)测试Boost配置的Hello World程序
- NUnit详细使用用法(补充)--在.NET中如何利用NUnit测试Private和Protected方法
- android内核字符驱动设备实战之----------应用层测试程序篇
- 用NUnit2.1简单实现.net的测试驱动开发(TDD)
- 【JAVA并发编程实战】10、并发程序的测试
- 应用NUnit软件进行.NET程序测试初步
- 用NUnit2.1简单实现.net的测试驱动开发(TDD)
- Spark实战----(1)使用Scala开发本地测试的Spark WordCount程序
- NUnit实战,第一个测试类,测试事件触发是否是并行的
- 仿Nunit的【TEST】属性测试一段程序
- 使用NUnit进行DotNet程序测试
- NUnit.Mocks实战测试实例