用NUnit为.NET程序做测试 ---Nunit入门
来源:互联网 发布:台服lol有mac版本吗 编辑:程序博客网 时间:2024/05/16 14:34
最近在学习的过程中感觉到项目测试的重要性,自己在网上学习了一番。感觉还是收获颇丰的。在此记下,希望也能为像我这样的程序员一点帮助吧。
我使用的是强悍的NUnit为.NET程序做测试,下载地址:http://www.nunit.org/index.php?p=download 下载最新版,然后安装。
接下来开始我们的开发和测试。我写的是一个简单的计算功能的类。
首先在VS中新建一个类库。
添加类 Calculate.cs 代码如下:
namespace NunitTest{ public class Calculate { public int Add(int a,int b) { return a + b; } public int Minus(int a,int b) { return a - b; } public int Multiply(int a,int b) { return a * b; } public int Divide(int a,int b) { return a / b; } }}
Calculate 就是我们要测试的类了。
在项目中添加测试类 CalculateTest.cs 。首先添加 NUnit.Framework.dll到项目中,
由于安装NUnit时,安装程序已经将NUnit的程序集添加到了项目的.net应用中,直接点击添加。
使用NUnit测试项目,必须添加客户端属性标示,添加[TestFixture] 以表明此类是用来测试使用的。
[TestFixture] public class CalculateTest { }
接下来添加测试方法:添加[Test]以表明此方法是用来测试使用的。测试方法不能有返回值,不能有参数。
[TestFixture] public class CalculateTest { [Test] public void TestAdd() { Calculate cal = new Calculate(); int result = cal.Add(1, 4); Assert.AreEqual(5, result); } [Test] public void TestDivide() { Calculate cal = new Calculate(); int result = cal.Divide(3, 1); Assert.AreEqual(3, result); } }
Assert 即测试的 “断言”:在测试框架中,断言是单元测试的核心,我们在测试中要对其程序断言,如果某个断言失败,方法的调用不会返回值,并且会报告一个错误。如果一个测试包含多个断言,那些紧跟失败断言的那些断言都不会执行,因此每个测试方法最好只有一个断言。
启动 NUnit,FILE----Open Project
将NunitTest .dll添加进去。
我们可以看到我们添加的两个测试方法。TestAdd和TestDivide。点击 Run 开始测试
全部变成绿色表示测试通过。
但是大家有没有想到,测试的除法 TestDivide()有除数为零的情况。我们在程序中没有做任何判断,我们直接Return了结果。
我们更改一下测试类
[Test] public void TestDivide() { Calculate cal = new Calculate(); int result = cal.Divide(3, 0); Assert.AreEqual(3, result); }
运行 NUnit,
虽然我们这里的运算很简单,但是遇到复杂的情况这个测试就很有必要了。
[Test] [ExpectedException(typeof(DivideByZeroException))] public void TestDivide() { Calculate cal = new Calculate(); int result = cal.Divide(3, 0); Assert.AreEqual(3, result); }
[ExpectedException(typeof(DivideByZeroException))] 表示这个测试类我期望抛出一个除数不能为零的异常。
再次运行 NUnit,测试通过。
作者:鹏鹏_Lovley
出处:http://blog.csdn.net/dupeng0811
本文版权归作者和CSDN共有,欢迎转载,请在文章页面明给出原文连接
出处:http://blog.csdn.net/dupeng0811
本文版权归作者和CSDN共有,欢迎转载,请在文章页面明给出原文连接
- 用NUnit为.NET程序做测试 ---Nunit入门
- 用NUnit为.NET程序做测试 --- 实战
- 用NUnit为.NET程序做测试---数据库测试之连接测试
- 用NUnit为.NET程序做测试---数据库测试之二 数据操作测试
- 用NUnit为.NET程序做测试 --- 常用测试属性之一 SetUp TearDown TestFixtureSetUp TestFixtureTearDown
- 用NUnit为.NET程序做测试 --- 常用测试属性之二 Ignore, Explicit
- 用NUnit为.NET程序做测试 --- 常用测试属性之三 Category
- 用NUnit为.NET程序做测试 ---实战之方便简捷的测试技巧
- 用NUnit自动测试.NET代码
- NUnit 测试用例
- nunit测试.net代码简介
- 应用NUnit软件进行.NET程序测试初步
- NUnit测试
- Nunit入门
- 【Nunit入门系列讲座 2】Nunit的测试集管理
- 【Nunit入门系列讲座 5】Nunit如何测试程序中的异常 —— 初识异常及异常测试
- NUnit
- Nunit
- JavaScript 学习点滴记录
- 思考
- Scheduling a SQL Server Profiler Trace
- 关于aix下xmanager、cde、ftp、telnet问题的小结
- The ARM Architecture
- 用NUnit为.NET程序做测试 ---Nunit入门
- Capture all statements for a SQL Server session
- 自主开发自动化测试工具(一)
- 24 个漂亮的个性化 HTML 表单技术
- 文本编辑框--调整文本编辑区域
- Using TRY/CATCH to Resolve a Deadlock in SQL Server 2005
- 2009 CSDN英雄会记事 - 珍惜时间、规划生活
- 测试PHP中的布尔(boolean)类型
- 16 Tools for Server Performance Tuning and Monitoring