zoukankan      html  css  js  c++  java
  • 实现VS2010整合NUnit进行单元测试(转载)

    代码编写,单元测试必不可少,简单谈谈Nunit进行单元测试的使用方式:

    1、下载安装NUnit(最新win版本为NUnit-2.6.4.msi) http://www.nunit.org/index.php?p=download

    2、下载并安装VS的Visual Nunit 2010 插件  http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099

    注:可通过VS的“视图”->“其他窗口”找到并打开该插件(快捷键:Ctrl+F7)

    3、新建测试项目UnitTestApp(示例为简单的控制台应用程序),引入nunit.framework类库(默认安装后文件所在路径:C:Program Files NUnit 2.6inframework unit.framewor.dll)

    4、添加Calculator类,实现一个简单加法和获取单例方法

    namespace UnitTestApp
    {
        public class Calculator
        {
            public int Add(int a, int b)
            {
                return a + b;
            }
    
            private static readonly object objSync = new object();
            private static Calculator instance = null;
    
            public static Calculator GetInstance()
            {
                if (instance == null)
                {
                    lock (objSync)
                    {
                        if (instance == null)
                        {
                            instance = new Calculator();
                        }
                    }
                }
                return instance;
            }
    
        }
    }

    5、新增NUnitTest类进行单元测试

    using NUnit.Framework;
    
    namespace UnitTestApp
    {
        [TestFixture]
        public class NUnitTest
        {
            [Test]
            public void AddTest()
            {
                var calc = new Calculator();
                var result = calc.Add(1, 1);
                Assert.AreEqual(2, result);
            }
    
            [Test]
            public void AddTestFailure()
            {
                var calc = new Calculator();
                var result = calc.Add(1, 1);
                Assert.AreEqual(10, result);
            }
    
            [Test]
            public void SingtonTest1()
            {
                var calc = Calculator.GetInstance();
                Assert.IsNull(calc);
            }
    
            [Test]
            public void SingtonTest2()
            {
                var calc1 = Calculator.GetInstance();
                var calc2 = Calculator.GetInstance();
                Assert.IsTrue(object.Equals(calc1, calc2));
            }
        }
    }

    编译控制台项目,点击Visual Nunit 插件的“Run”按钮,然后一切清静了。

    注:在上面的代码中引用 NUnit.Framework,使用TestFixture标注这是用于测试的类,在其中使用 Test表示具体的测试用例。可以看到单元测试中最重要的是断言,其他完全交给框架自动化。测试结果可以通过插件及时看到:

    使用NUit单元测试的另外一种方式:
    当你安装NUnit时,会同时安装一个NUnit GUI,在开始菜单中找到打开,界面大约是这样子:

    选择菜单栏的 file -> open project ,打开刚才编译好的MyClassLibrary.dll,也就是测试工程的dll文件,GUI会自动加载所有测试用例,点击run,如下图所示

       不论你是做何种开发,我相信,单元测试一定会让你受益匪浅。请相信,单元测试不是一件索然无味的工作,它同样充满了成就感和乐趣,每次看到鲜亮的绿色进度条,都是最爽的时刻。所以,希望看完本文的朋友能尽快拿起NUnit,开始你的单元测试实践.

    参考地址:
    http://www.cnblogs.com/leoo2sk/archive/2010/01/13/pragmatic-unit-testing-with-nunit.html

    http://www.cnblogs.com/jeffwongishandsome/archive/2012/03/18/2404845.html

  • 相关阅读:
    c# 使用 Read 读取数据块
    C# TCP/IP通信,Socket通信例子
    c# virtual 关键字 虚方法
    统计图
    oauth2.0 判断接口是否允许跨域
    OI常用模板合集
    CSP2021游记
    8.16 树上问题模拟赛总结
    8.15 图论模拟赛垫底记
    8.14 字符串模拟赛总结
  • 原文地址:https://www.cnblogs.com/xibei666/p/4838405.html
Copyright © 2011-2022 走看看