NUnitPartner--自动生成NUnit的测试用例(test case)

    NUnit 真的好用,可以有效的提高软件的质量。不过我人比较懒,感觉写测试用例比较无趣,特别是是做企业应用的,DAO和BO都包含CRUD等方法,写测试用例很大部分是重复劳动。

    有没有工具可以自动生成被测试类的各个方法的测试用例?上星期我带着这样的需求找遍了整个Internet,结果找到两个。一个是sourceforge.net上的SkeletonNUnit,但很可惜它一直没有发布任何版本。还有一个忘记也在哪,是用vs.net的宏实现的,但我用vs.net 2003无法编译通过,最后没办法,唯有自己动手,终于写成了,现在放到网上供大家use for free.特性包括:

  1. 生成完整的类的方法的调用,调用参数被赋值,而不是null,如果参数是非基元的类的一个对象,则该对象的成员也被赋值。 
  2. 可以输出到一个TextBox,或生成源程序文件。
  3. 可以生成整个module,整个class,或单个方法的test case.
  4. 支持C#, VB.Net, JScript, Managed C++ and J#. 
  5. .....

比如有一个被测试的方法声明如下:

public void Insert(CountryInfo countryInfo)

如果选择为单个方法生成代码的话,则NUnitPartner可以生成如下代码

namespace Adex.InterBaseDAL.Test {
    using System;
    using NUnit.Framework;
    using Adex.InterBaseDAL;
    using Adex.Model;
   
   
    [TestFixture()]
    public class TestCountry {
       
        [Test()]
        public virtual void TestInsert() {
            Country __Country = new Country();
           
           
            CountryInfo __countryInfo = new CountryInfo();
            __countryInfo.country_code = "country_code";
            __countryInfo.country_name = "country_name";
           
            __Country.Insert(__countryInfo);
        }
    }
}

程序演示如下:

1. 打开一个assembly

2. assembly内的所有public class和它们的public方法将会显示如下,这时你可以选定tree view 中的一个节点生成测试用例。

3.生成结果如下:

如果上面的图显示不出来,可以看这里http://www.freewebs.com/edwinyeah/Usage.htm

大家可以去http://www.freewebs.com/edwinyeah/ 下载,现在还是beta版,希望大家把测试的结果告诉我。另外我没有制作 MSI安装程序的经验,不知道所做的安装程序是否完整,不过如果你装用.net framework 1.1的话应该没问题。

你可能感兴趣的:(DotNet)