概述:
之前用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);
}
}
}