NUnit3之NUnitLite使用小记

来源:互联网 发布:ai制图软件 编辑:程序博客网 时间:2024/06/03 11:43

概述:

之前用nunit2,挺好用的,网上介绍文章也挺多的,图形化界面,容易上手。但存在大坑:对.net4.5的一些新特性支持不好,被我碰到了,折腾浪费了半天时间,才发现是测试框架nunit的问题,逼不得已,改用nunit3。官方有介绍一些第三方插件,可集成在vs里面,但我测试了下,并不是很满意,最后还是决定用最原始的Nunit3内置的NUnitLite。

这里把使用上的一些注意事项列举下:

1.新建测试项目,项目类型选择控制台类型。

2.项目添加对NUnitLite.dll和NUnitFramework.dll的引用.

3.program.cs修改Main代码:

static void Main(string[] args)

        {

          // 要测试的具体测试case,需要测试哪个就取消注释哪个.全部要测试,就注释掉全部.

            var tests = new List<string>{
              //    "myTest.test1"
              //  "myTest.test2"
            };
            for (int i=0;i<tests.Count;i++){
                tests[i]="/test="+tests[i];
            }

          // 显示使用帮助
            //tests.Add("/help");

          // 出现错误停止测试
            tests.Add("/stoponerror");
            
           new AutoRun().Execute(tests.ToArray());

          // 测试结束后,按空格结束,防止屏幕闪过,看不到测试结果
             var exeArg = Console.ReadKey().KeyChar.ToString();
            
        }

4.写你的测试代码,和nunit2差不多

   namespace Autumn.Test
{
    [TestFixture]
    public class ResourceTest
    {

        // 初始化测试环境

        [SetUp]
        public void Setup()
        {
            m_Server = new TestServer();
            m_Server.Setup( m_Config);
        }
       // 清理测试环境
        [TearDown]          
        public void Stop()
        {

            m_server.Close();

       }

        [Test, Repeat(5)]
        public void TestSome()
        {

            Assert.Catch(typeof(ArgumentOutOfRangeException), myExceptionFunc);
        }

    }


}


1 0