NUnit单元测试使用实例

SGO基线解算软件(南方测绘UI设计最美观的一款新版) 不多说,先放地址: 下载地址:https://www.southgnss.com/download_view.asp?did=361 SGO是南方测绘集团广州南方卫星导航仪器有限公司自主研发新一代南方地理数据处理平台软件,对南方特有数据格式文件(STH格式文件)、标准数据格式文件(RINEX格式文件)进行静态数据处理、动态数据后处理和进行RTK结果检验,新增加了北斗数据处理和摄影测量模块,并围绕南方的不同型测量产品集成多款测绘领域所需的小工具,实现测绘内业数据处理一体化。 相关概念 G.. 阅读详情

1.新建.NET项目-->类库

2.添加引用  nunit.framework.dll

3.编写测试用例(Test Case)

 

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;

namespace NUnitTest
{
    
//作者: 王文平
    
//日期: 2007-09-20
    
//描述: NUnit单元测试Demo
    /*
     * TDD的简介
     * 使用下面2个原则来定义TDD
     * 除非你有一个失败的自动测试,永远不要写一单行代码. 
     * 阻止重复
     * 第一个原则是显而易见的.在没有失败的自动测试下就不要写代码
     * 第二个原则说明了在一个程序中,不应该包含重复的代码.如果代码重复
     * /

    /*
     * TestFixture 属性
     *本属性标记一个类包含测试,当然setup和teardown方法可有可无.
     *做为一个测试的类,这个类还有一些限制 
     *必须是Public,否则NUnit看不到它的存在. 
     *它必须有一个缺省的构造函数,否则是NUnit不会构造它. 
     
*/

    [TestFixture]
    
public class NUnitExample
    {
        
private int a;
        
private int b;
        
//SetUp 属性
        
//初始化
        [SetUp]
        
public void InitializeOperands()
        {
            a 
= 1;
            b 
= 2;
        }

        
//Test属性用来标记一个类(已经标记为TestFixture)的某个方法是可以测试的.
        [Test]
        [Category(
"Numbers")]
        
public void AddTwoNumbers()
        {
            
int sum = a + b;
            Assert.AreEqual(sum, 
3);
        }
        [Test]
        [Category(
"Numbers")]
        
public void MultiplyTwoNumbers()
        {
            
int product = a * b;
            Assert.AreEqual(
2, product);
        }

        
//TearDown 属性
        
//清除


        
/*
         * ExpectedException 属性
         * 这里是一个验证这个假设的测试.有的时候,我们知道某些操作会有异常出现.
         * 例如, 在实例中增加除法,某个操作被0除,抛出的异常和.NET文档描述的一样.参看以下源代码 
         
*/

        [Test]
        [Category(
"Exception")]
        [ExpectedException(
typeof(System.DivideByZeroException))]
        
public void DivideByZero()
        {
            
int zero = 0;
            
int infinity = a / zero;
            Assert.Fail(
"Should have gotten an exception");
        }

        
//Ignore 属性
        
//保持测试,但又不运行
        [Test]
        [Category(
"Numbers")]
        [Ignore(
"Multiplication is ignored")]
        
public void MultiplyTwoNumbers2()
        {
            
int product = a * b;
            Assert.AreEqual(
3, product);
        }

        
//TestFixtureSetUp/TestFixtureTearDown 属性
        
//正如他们名字表明的一样,这些属性用来标记为整个test fixture初始化/释放资源方法一次的方法. 
        
//为所有test fixture的测试共享相同的数据库连接对象,我们可以写一个打开数据库连接的方法,标记为TestFixtureSetUp属性
        
//编写另外一个关闭数据库连接的方法,标记为TestFixtureTearDown属性


        
//Category 属性
        
//对于测试来说,你有的时候需要将之分类,此属性正好就是用来解决这个问题的。 
        
//你可以选择你需要运行的测试类目录,也可以选择除了这些目录之外的测试都可以运行。
        
//在命令行环境里 /include 和/exclude来实现。在GUI环境下,就更简单了,选择左边工作域里的Catagories Tab,选择Add和Remove既可以了。


        
//Explicit属性 
        
//本属性忽略一个test和test fixture,直到它们显式的选择执行。如果test和test fixture在执行的过程中被发现,就忽略他们。
        
//所以,这样一来进度条显示为黄色,因为有test或test fixture忽略了。
        
//原因是Ingore属性忽略了某个test或test fixture,那么他们你再想调用执行是不可能的。那么万一有一天我想调用被忽略的test或test fixture怎么办,就用Explicit属性了。我想这就是其中的原因吧。
        [Test, Explicit]
        [Category(
"Exception")]
        [ExpectedException(
typeof(DivideByZeroException))]
        
public void DivideByZero2()
        {
            
int zero = 0;
            
int infinity = a / zero;
            Assert.Fail(
"Should have gotten an exception");
        }

        
//Expected Exception属性 
        
//期望在运行时抛出一个期望的异常,如果是,则测试通过,否则不通过。
        
//在本测试中,应该抛出DivideByZeroException,但是期望的是InvalidOperationException,所以不能通过。
        
//如果我们将[ExpectedException(typeof(InvalidOperationException))]改为[ExpectedException(typeof(DivideByZeroException))],本测试通过。
        [Test]
        [Category(
"Exception")]
        [ExpectedException(
typeof(DivideByZeroException))]
        
public void ExpectAnException()
        {
            
int zero = 0;
            
int infinity = a / zero;
            Assert.Fail(
"Should have gotten an exception");
        }

    }   
}
2、微软 Power Automate 入门指南 本文是一篇关于微软 Power Automate 的入门指南,详细介绍了 Power Automate 的基本概念、相关术语、登录方式以及如何创建一个简单的自动化流。文章还探讨了 Power Automate 在业务流程中的应用场景和优势,并展望了其高级功能和未来发展。适合希望快速入门 Power Automate 并提升业务自动化效率的读者。 阅读详情

相关推荐

Nunit测试的一个小例子

一个单元测试的例子,刚刚学习写的。希望可以对初学者有些启示。 需要安装Nunit2.6.2,并且在项目属性中修改:属性→启动选项的路径(你懂的)。 VS2008项目

用NUint进行测试用例的实现

1、在项目中新建测试库 2、在测试库在红引用nunit.framework.dll 3、添加项目中待测试的引用 4、在测试库中编写测试用例 5、运行Nunit,打开该测试库的DLL,运行查看 此为简单的使用,同时有其他的属性可进行熟悉。 并且,同时可将Nunit集成到VS中更加方便测试。后面再进行补充更新 ...

weixin_36845145的博客 405

C#中的Nunit测试(内含第一个样例及关键说明)

C#中的Nunit测试(内含第一个样例及关键说明)

单元测试——NUnit测试简单实例

一、测试准备工作:NUnit的下载及安装 http://blog.csdn.net/wangqingbo0829/article/details/43975243   二、      流程: (1)存在一个已实现的“待测项目”,例:CountFunction; (2)新建一个测试项目最好以“待测项目名称.Test”命名,例:CountFunction.Test; (3)添加对待测项目的

脚步不停,信念不息! 3220

NUnit实战

1. NUnit测试框架简介 2. NUnit测试实例 3. 参考资料及代码下载 <1>. NUnit简介 TDD测试驱动开发是极限编程的一个重要特点,它以不断的测试推动代码的开发,既简化了代码,同时也保证了软件指令,另一方面说编写的测试用例将成为重要文档(可以作为SDK提供给开发者,测试即文档)。 [NUnit]即是一个对于.net平台上进行测试的框架...

weixin_30326515的博客 164

NUnit 单元测试实例场景(为什么要进行单元测试

引言:举一个可能会发生在你身边的事件将更能贴近实际,幸好我们现在就有一件在程序员看来非常普通的任务:你今天第一天上班,你的项目经理拿给你一叠不算厚的文档,告诉你今天的任务是按照文档中的要求编写一个.Net,可能因为任务并不复杂,所以他看上去非常的随意。今天能否很好的完成任务对你来说非常特殊,你拿过来后快速略过了前面大段的项目介绍,因为你知道那些对你并不重要,印象中好象是一个关于售

大森林的专栏(Jack Wu) 1029

使用实例 ---- 使用NUnit在.Net编程中进行单元测试

[--- 资料是从免费网站上获取的,上载在这里,只为交流学习目的,文章原作者保留所有权力,如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意!erwin_609#msn.com ---] 引言: 举一个可能会发生在你身边的事件将更能贴近实际,幸好我们现在就有一件在程序员看来非常普通的任务:你今天第一天上班,你的项目经理拿给你一...

weixin_30535843的博客 162

NUnit进行单元测试

   转自:http://www.cnblogs.com/confach/archive/2005/06/20/177817.html     单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。  在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进

梦想MVP 2269

单元测试NUnit和DotNetMock的使用调研报告

单元测试NUnit和DotNetMock的使用调研报告单元测试是指开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试不但会使我们的工作完成得更轻松,而且会令我们的设计变得更好,甚至大大减少我们花在调试上面的时间。进行单元测试,目前的C++, Fortran,Ruby,Smallt

赵洋的专栏 1553

单元测试UnitTest与NUnit

Unit using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using ConsoleAppFN; using System.Collections.Generic; namespace UnitTestProject1 { [TestClass] public class UnitTest1 ...

小数点儿的博客 363

C#单元测试Nunit小结(20141018)

1、 下载和安装Nunit工具: NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装; 2、 在VS2010中做配置: Ø 选择【工具】——【外部工具……】 Ø 点击【添加】,在<标题>和<命令>中分别填写名称和指定外部工具启动的exe Ø...

dianshabeng2169的博客 244

C#---NUnit详细使用方法

1. TDD的简介 首先什么是TDD呢?Kent Beck在他的>(Addison-Wesley Professional,2003)一书中,使用下面2个原则来定义TDD: ·除非你有一个失败的自动测试,永远不要写一单行代码. ·阻止重复 我想第一个原则是显而易见的.在没有失败的自动测试下就不要写代码.因为测试是嵌入在代码必须满足的需求中.如果没有需求,就没有必要实现任何东西.所以这个原则阻止我们去实现那些没有测试和在解决方案中不需要的功能. 第二个原则说明了在一个程序中,不应该包含重复的代码.如果代码重复

Angelia222的专栏 1万+

Nunit单元测试

NUnit是.net平台上使用得最为广泛的测试框架之一,本文将通过示例来描述NUnit使用方法,并提供若干编写单元测试的建议和技巧,供单元测试的初学者参考。继续下文之前,先来看看一个非常简单的测试用例(TestCase): [Test] public void AdditionTest() { int expectedResult = 2; Asse...

weixin_30394981的博客 203

使用Nunit进行单元测试入门

 使用Nunit进行单元测试入门前言:Nunit是一项开源的项目,利用Nunit,你可以方便快捷地对已有的.NET组件进行单元测试。利用Nunit,你可以在不修改原有代码的情况下,编写专门的测试代码对需要测试的函数和组件进行测试。如果大家有兴趣可以将Nunit和VSTS自带的单元测试进行比较:)正文:如果你的机器上没有安装Nunit,请先到http://www.nun

525

单元测试——Moq框架下的Mock简介及简单实例

1.为什么要用Mock? 在测试过程中,往往会遇到这些问题: (1)真实对象具有不可确定的行为(产生不可预测的结果,如股票行情)。  (2)真实对象很难被创建。  (3)真实对象的某些行为很难触发(如网络错误)。 (4)真实对象令程序的运行速度很慢。  (5)真实对象有(或者是)用户界面。  (6)测试需要询问真实对象它是如何被调用的(例如,测试可能需要验证某个回调函数是否被调用了)

脚步不停,信念不息! 5981

NUnit详细使用方法~~~

NUnit2.0详细使用方法 注:NUnit中文文档可以参看我的另一个站点:http://www.36sign.com/nunit 前一段时间,有人问我在.NET里如何进行TDD开发.这个问题促使我想对NUnit做一个详细的介绍.因为我们大家都知道NUnit是在.NET进行TDD的利器. 如果你已经知道很多关于NUnit的应用,请指出我的不对之处和提出一些建议,使本文更加完善.如果你对...

149

使用NUnit在.Net编程中进行单元测试

我收集的,大家有兴趣可以看看,不过实际的执行图片我发不上来,大家将就一下咯内容: 摘要:本文通过一个详实的例子,详细介绍了如何在C#中利用NUnit单元测试框架进行应用程序单元测试工作。--------------------------------------------------------------------------------目录:引言 什么是单元测试 测试先行 测试异常 总

高山流水 1024

NUnit2.0详细使用方法

 NUnit2.0详细使用方法小提示:点击可切换浏览 NUnit2.0详细使用方法 注:NUnit中文文档可以参看我的另一个站点:http://www.36sign.com/nunit前一段时间,有人问我在.NET里如何进行TDD开发.这个问题促使我想对NUnit做一个详细的介绍.因为我们大家都知道NUnit是在.NET进行TDD的利器.如果你已经知道很多关于NUn

284

如何使用NUnit进行单元测试

如何使用NUnit进行单元测试 在07年上半年,我才逐渐开始使用NUnit这个单元测试工具。之前一般使用WinForm或是Console程序来进行测试,只不过后来开发无界面的Windows服务程序时,才发现原来的测试方式有太大的问题。现在感觉使用专门的测试工具可能会更专业一些。一、安装: 我们使用NUnit大多都是绿色版的,不存...

weixin_30492601的博客 77

NUnit使用方法

 NUnit2.0详细使用方法注:NUnit中文文档可以参看我的另一个站点:http://www.36sign.com/nunit前一段时间,有人问我在.NET里如何进行TDD开发.这个问题促使我想对NUnit做一个详细的介绍.因为我们大家都知道NUnit是在.NET进行TDD的利器.如果你已经知道很多关于NUnit的应用,请指出我的不对之处和提出一些建议,使本文更加完善.如果你对NU

caowei880123的专栏 913

PCIE X1转千兆网芯片RTL8111H-CG(QFN32封装)芯片AD原理图+PCB封装库

PCIE X1转千兆网芯片RTL8111H-CG(QFN32封装)芯片AD原理图+PCB封装库,已在项目中使用,可直接用于你的设计中。

上一篇: 查询之order by,group by和having的使用
下一篇: WML 快速查询表
apinghappy
博客等级 码龄19年 23粉丝 74原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值