zoukankan      html  css  js  c++  java
  • NUnit使用基础

    TDD开发变得越来越流行,这里写关于NUnit的一些基本使用。

    1、下载NUnit地址:http://www.nunit.org/downloads/NUnit-2.2.0.msi
    2、安装NUnit后,组件会自动安装到GAC中,所以可以在直接在组件引用中添加,当然也可以直接引用该文件C:\Program Files\NUnit 2.2\bin\nunit.framework.dll
    3、为了在调试中直接启用NUnit,要在测试用例所在的项目进行设置。在项目属性中设置调试模式为“程序”,设置启动应用程序为“C:\Program Files\NUnit 2.2\bin\nunit-gui.exe”,这样每次调试测试用例时都会自动启动NUnit的图形界面了。
    4、基本使用,这里我设计了一个简单的例子,是关于Flags的使用的,使用Flags定义的枚举可以方便实现一些简单的权限管理。

    using System;
    using NUnit.Framework;

    namespace RuiYa.Test
    {
        [TestFixture]
        [Category(
    "Flags用法测试")]
        
    public class NUnitDemo
        
    {
            
    private TestType test;

            
    public NUnitDemo(){}

            [SetUp]
            
    public void RuiYaSetUp()
            
    {
                test 
    = Add(test, TestType.View);
                Assert.AreEqual(
    "View", test.ToString());
            }


            [TearDown]
            
    public void RuiYaTearDown()
            
    {
                test 
    = Remove(test, TestType.View, TestType.Edit, TestType.Delete, TestType.Create);
                Assert.AreEqual(
    "0", test.ToString());
            }


            [Test]
            
    public void TestEnum()
            
    {
                Assert.AreEqual(
    "View", test.ToString());

                test 
    = Add(test, TestType.Edit, TestType.Delete);
                Assert.AreEqual(
    "View, Edit, Delete", test.ToString());
            }


            
    private TestType Add(TestType source, params TestType[] testTypes)
            
    {
                
    if((testTypes != null&& testTypes.Length > 0)
                
    {
                    
    foreach(TestType tt in testTypes)
                    
    {
                        source 
    |= (TestType)tt;
                    }

                }


                
    return source;
            }


            
    private TestType Remove(TestType source, params TestType[] testTypes)
            
    {
                
    if((testTypes != null&& testTypes.Length > 0)
                
    {
                    
    foreach(TestType tt in testTypes)
                    
    {
                        source 
    = source & (~tt);
                    }

                }


                
    return source;
            }


        }


        [Flags]
        
    public enum TestType : int
        
    {
            View        
    = 1,
            Edit        
    = 2,
            Delete        
    = 4,
            Create        
    = 8,
        }

    }

    #  如果要对某个测试用例类进行测试,则必须为这个类添加[TestFixture]属性
    #  使用[Category]属性,可以把这个测试加入某个测试种类中,凡是属于某个测试种类的测试均可以集中一起进行测试,这个[Category]属性不只是可以添加到类上,也可以添加到方法上,这样可以单独把某个方法加入到某个测试种类中。
    #  使用[SetUp]属性标记的方法,是在测试前期对测试环境进行初始化,而[TearDown]则在测试结束后运行,提供机会还原到测试前的状态。
    #  使用[Test]属性,则是真正需要进行测试的方法,具体的测试都是写在这一个个的方法体内。
    #Assert是主要的断言类,其中提供很多方法帮助我们对代码进行测试。


  • 相关阅读:
    Linux查看磁盘空间大小
    Qt常见错误
    顺序查找和二分查找代码
    字典树——动态&&静态
    Linux本机和远程服务器之间文件的上传和下载 rz sz
    牛顿迭代法——C语言
    MFC之ListControl选中行删除
    MFC之登录框的问题处理
    MFC之创建多级动态菜单
    c++动态内存知识总结与疑问
  • 原文地址:https://www.cnblogs.com/chenjunbiao/p/1760266.html
Copyright © 2011-2022 走看看