zoukankan      html  css  js  c++  java
  • Nunit 使用介绍

    Nunit是.NET平台单元测试框架,其是从Junit发展而来,它强大之处是支持所有的.NET语言。

    Nunit的下载地址:http://www.nunit.org

    介绍1:

    布局:

    • 左面:我们写的每一个单元测试
    • 右边:测试进度条
    • 测试执行状态:进度条的颜色来反映
      1. 绿色:所有测试案例运行成功
      2. 黄色:某些测试被忽略,但没有失败
      3. 红色:有测试案例没有成功执行

    文本窗口标签:

    Errors and Failures:显示失败的测试

    Tests Not Run:显示没有得到执行的测试

    Console.Error:显示运行测试产生的错误消息。这些此消息是应用程序代码使用Console.Error输出流输出的

    Console.Out:显示运行测试打印到Console.Error输出流的文本消息

          

    底部状态条:表示当前运行的测试的状态

    Ready:准备就绪

    Running:测试执行中(Running: test-name)

    Completed:所有测试完成时

    Test Cases:说明加载的程序集中测试案例的总个数,即测试树里叶子节点的个数

    Tests Run:已经完成的测试个数

    Failures:到目前为止,所有测试中失败的个数

    Time:测试运行时间(以秒计)

    介绍2:

    常用属性

    TestFixture属性:标记该类包含要测试的方法,即为测试类,对该测试类的限制:

    1. 访问方式必须是Public,否则NUnit看不到它的存在
    2. 必须有一个缺省的构造函数,否则是NUnit不会构造它
    3. 构造函数应该没有任何副作用,因为NUnit在运行时经常会构造这个类多次

                 

    Test属性:标记某个类(该类已经被标记为TestFixture)的某个方法是可以测试的,对该测试方法的限制:

    1. 访问方式必须是Public
    2. 不能有参数
    3. 不能有返回值

    介绍3:

    使用

    首先,安装Nunit,安装后的运行文件是"nunit.exe", 其目录如 C:Program Files (x86)NUnit 2.6.3in

    其次,新建项目:

    1.打开Visual Studio

    2.创建一个类库项目

    3.在类库项目中添加对“nunit.framework.dll”的引用, 该类库安装位置如:C:Program Files (x86)NUnit 2.6.3inframework

    4.添加类文件, 在类文件中加入命名空间"using NUnit.Framework;"

    5.添加属性(TestFixtrue)到类和(Test)到测试方法,如下:

    完成后的类文件如下图:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using NUnit.Framework;
    
    namespace Demo_Nunit
    {
        [TestFixture]
        public class Class1
        {
            [Test]
            public void Add()
            {
                int a = 1;
                int b = 2;
                int sum = a + b;
                Assert.AreEqual(sum, 3);
            }
    
            [Test]
            public void Multiply()
            {
                int a = 2;
                int b = 3;
                int multi = a * b;
                Assert.AreEqual(multi, 5);
            }
    
            [Test]
            [Ignore("This is ignored")]
            public void Divid()
            {
                
            }
        }
    }

    运行准备
    1.点击类库项目,右击,属性

    2.选择Debug选项卡,在启动选项(Start Action)中,设置启动外部项目,选择"C:Program Files (x86)NUnit 2.6.3in unit.exe"

    3.编译项目,并启动

    4.验证NUnit启动了, 选择File, Open Project, 选择编译完成的类库文件。

    点击要执行的测试, 点击Run按钮。

    介绍4:

    断言 Assert

    使用Assert(断言)进行比较,是一个类,包括的静态方法有:

    1. Assert.AreEqual(object expected, object actual[,string message])

    verifies that two objects are equal if they are not equal, an NUnit.Framwork.AssertionException is thrown        

    参数说明:                

    expected:期望值(通常是硬编码的)                

    actual:被测试代码实际产生的值、                

    message:一个可选消息,将会在发生错误时报告这个消息

    比较浮点数(float或double)时,要指定一个额外的误差参数

    2. Assert.AreEqual(object expected, object actual, float tolerance[, string message])

    参数说明:        

    tolerance:指定的误差,即精确到小数点后X位         例如:精确到小数点后4位,Assert.AreEqual(0.6667, 2.0/3, 0.0001);

    3. Assert.AreNotEqual(object expected, object actual)        

    asserts that two objects are not equal

    4. Assert.AreSame(object expected, object actual[, string message])        

    asserts that two objects refer to the same object        

    验证expected和actual两个参数是否引用一个相同的对象

    5. Assert.AreNotSame(object expected, object actual[, string message])        

    asserts that two objects do refer to the same object

    6. Assert.IsNull(object[, string message])

    7. Assert.IsNotNull(object[, string message])

    8. Assert.IsTrue(bool condition [, string message])

    9. Assert.IsFalse(bool condition [, string message])

    10. Assert.Fail([string message])        

    使测试立即失败        

    该断言被用于标记某个不应被到达的分支,实际不常用

  • 相关阅读:
    解决远程连接mysql很慢的方法(网络正常)
    分布式系统中可用性及容错性的区别
    设计模式个人思考
    记第一次多用户在Git提交代码
    Git远程分支的回退
    Linux模拟控制网络时延
    ubuntu 软件
    编译cubieboard android 源码过程详解之(六):pack
    编译cubieboard android 源码过程详解之(五):make
    编译cubieboard android 源码过程详解之(四):extract-bsp
  • 原文地址:https://www.cnblogs.com/qixue/p/3978768.html
Copyright © 2011-2022 走看看