zoukankan      html  css  js  c++  java
  • NUnit Extension小介绍

      NUnit是我们经常使用的测试框架,既然常用,肯定会有人难不住寂寞给TA加上一些自己认为酷的功能上去,也就是扩展,那下面我们就看看到底有几种扩展。


    Extension类型

    Add In

    嵌入NUnit内部,改变TA的行为,通常提供一种全新的测试方式,比方说FireBenchmarkers就给NUit加上了性能测试。

     

    Add On

    在Unit上方或者外部,不像Add In一样修改NUint的行为,通常他们都用来测试一种特殊的应用,或者实现一种新的测试书写风格

     

    Runners

    提供另外一种方式运行NUnit

     

    Extras

    除了上面三种之外的,典型的例子是加test report

     

    Available Extensions

     

     ExtensionDescriptionTypeAuthor
    CSUnit Addin Runs csUnit tests under NUnit without recompilation. Addin Charlie Poole
    Common.Addin.Build Common build script for use in building NUnit addins. Addin Charlie Poole
    Extension Methods For Nunit A DSL for constraint specification Addon Jonathan Knezek
    FireBenchmarks Performance testing addin for NUnit. Addin Federico Coletto
    IterativeTest Data-driven testing alternative. Addin Kelly Anderson
    MSBuild-NUnit MSBuild task to run NUnit Runner Rafael Teixeira & Paul Welter
    NAnt-task NAnt task to run NUnit Runner Daniel Nauck
    Njasmine A DSL for writing tests as Given/When/Then specifications, inspired by Jasmine. Addin Frank Schwieterman
    Nunit-Results Produces HTML reports from one or more NUnit test runs. Extra Charlie Poole
    Nunit-summary Produces HTML or text reports from one or more NUnit test runs. Extra Charlie Poole
    Nunitex NUnit constraint syntax based on extension methods Addon Fabio Maulo, Simone Busoli
    ORAYLIS BI.Quality ORAYLIS BI.Quality is a testing suite for BI solutions makes it easier to develop in an agile environment. The suite is based on NUnit and supports quite a lot of different testing methods. Addon Thomas Strehlow (ORAYLIS GmbH)
    Rowtest Allows writing mbUnit-style RowTests under NUnit Addin Andreas Schlapsi
    TestDriven.Net Zero friction unit testing extension for Visual Studio Runner Jamie Cansdale
    VisualNunit Open Source NUnit plugin for Visual Studio 2008 and 2010 Runner Tommi S. E. Laukkanen
    Watin Test Recorder Tool for use of WatiN with NUnit. Extra Daaron Dwyer, Nick Journals, James Avery
    Xtunit Rollback data changes made by a test. Addin Roy Osherove

      上面的表格中列出了NUnit官方给出的扩展工具,我比较关心的是能让我体面的写出测试的扩展。

     

    NUnit Extension Method

    var actual =2.5;
    actual
    .Should(Be.EqualTo(2.5).Within(0.5));

      个人感觉不是很好,例子里面层层嵌套,很不习惯,我更倾向于actual.shouldBe(2.5).Within(0.5)

     

    Njasmine

      
    一种我看不懂的测试写法,作者说是rspec风格,我怎么看着不像。。。从名字上面看,和jasmine有着千丝万缕的联系

     

    NUnitex

    很强大的一种测试方法扩展,支持NUnit,XUnit,MSTest,这下大家满意了吧。。。

    文章作者说:Charlie Poole, NUnit’s project leader, included NUnitEx as official NUnit AddOns “under review for possible inclusion in NUnit 3.0” (thanks Charlie) and we are looking for some response from users (the thread is here).也就是说TA是被NUnit组织推荐的

    真实性我就很难验证了。

    一些典型的验证方法:

     

    actual.Should().Be.True();
    actual.Should().Be.EqualTo(something);actual.Should().Be.InstanceOf<SomeClass>();

    var
    something =newobject();
    something.Should()
        .Not.Be.Null()
        .And
      
    .Not.Be.EqualTo(newobject());

    minvalue
    .Should().Be.LessThanOrEqualTo(minvalue +1);
    actual.Should().Be.SubsetOf(new[]{1,2,3,4}); 

    我认为最牛逼的就是TA居然支持LinQ形式的验证

     

    new[]{1,2}.Should().Satisfy(x => x.SequenceEqual(new[]{1,2}));

      

    这难道不酷么?

     


    引用资料:

    http://www.nunit.org/wiki/doku.php?id=nunit:extensions

    http://code.google.com/p/nunitex/wiki/SyntaxOverview

  • 相关阅读:
    c++中的复合类型
    c++获取随机数
    静态成员数据和静态成员函数
    c++之window.h
    算法之美---100幅由程序生成的图像,总有一幅让你感到惊艳[上]
    分形的程序实现
    使用异或运算交换两个任意类型变量
    游戏中角色曲线行走的算法
    算法之美---由计算机生成的图像
    数学图形之肾形
  • 原文地址:https://www.cnblogs.com/iammatthew/p/2462029.html
Copyright © 2011-2022 走看看