单元测试工具NUnit的使用
2014-12-31 17:27
330 查看
使用NUnit工具来进行单元测试
首先在要创建一个单元测试的项目,通常在原有的解决方案中添加新项目,在弹出的项目类型中选择单元测试,项目的命名一般情况下与解决方案的名称相同后加UnitTest
然后在项目中添加一个单元测试的类,类的名称与要测试的类的名字相同,也是后缀加UnitTest,在单元测试项目中添加引用NUnit.Framework.dll,而后在单元测试的类的头部添加引用usingNUnit.Framework;
在测试类的上部添加特性[TestFixture]表示:要对这个类进行测试
然后创建一个测试方法,测试方法的名字命名与测试类的命名相同,就是在要测试的方法名后缀Test,在测试的方法上面要添加特性[Test]表示的是:这是个测试的方法,如果没有什么语法错误,对单元测试项目进行重新编译。
usingSystem.Text;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingDemon;
usingNUnit.Framework;
namespaceDemonUnitTest
{
///<summary>
///CalcuteTest的摘要说明
///</summary>
[TestFixture]
publicclassCalcuteTest
{
Calculatemycal=newCalculate();
[Test]
publicvoidGetSumTest()
{
inta=4;
intb=6;
intsum=mycal.GetSum(a,b);
Assert.AreEqual(10,sum);
}
[Test]
publicvoidGetResultTest()
{
intresult=mycal.GetResult(5);
Assert.AreEqual(15,result);
}
}
}
打开Nunit,选择file-->openproject找到刚才单元测试项目中生成的dll文件,选择确定。这样在nunit中就能看到里面的测试方法,对每一个测试方法进行运行,如果出现绿色,那么恭喜你,测试通过,如果出现红色的警告,则表示方法没有通过测试,可以根据测试的结果反馈信息来对编写的方法进行修改,直到能达到预期效果,也就是通过单元测试。
还有一种方法就是在项目中直接使用vs自带的单元测试功能一般在创建项目时,就会提示是否要添加单元测试项目,默认的情况下,会创建一个与解决方案同名的后缀Test的单元测试项目。这种情况下,通过添加单元测试模板来添加单元测试类,与NUnit不同的是, 要引用vs自带的单元测试框架usingMicrosoft.VisualStudio.TestTools.UnitTesting;
在单元测试的类上添加特性[TestClass]表示的是这是一个测试类在测试的方法上添加特性[TestMethod]表示的是这是一个测试方法
测试方法的编写与NUnit方法相同,但是通过打断点,调试的方式来进行测试的
usingSystem.Text;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingMicrosoft.VisualStudio.TestTools.UnitTesting;
namespaceDemonUnitTest
{
///<summary>
///CalcuteTest2的摘要说明
///</summary>
[TestClass]
publicclassCalcuteTest2
{
publicCalcuteTest2()
{
//
//TODO:在此处添加构造函数逻辑
//
}
privateTestContexttestContextInstance;
///<summary>
///获取或设置测试上下文,该上下文提供
///有关当前测试运行及其功能的信息。
///</summary>
publicTestContextTestContext
{
get
{
returntestContextInstance;
}
set
{
testContextInstance=value;
}
}
#region附加测试特性
//
//编写测试时,可以使用以下附加特性:
//
//在运行类中的第一个测试之前使用ClassInitialize运行代码
//[ClassInitialize()]
//publicstaticvoidMyClassInitialize(TestContexttestContext){}
//
//在类中的所有测试都已运行之后使用ClassCleanup运行代码
//[ClassCleanup()]
//publicstaticvoidMyClassCleanup(){}
//
//在运行每个测试之前,使用TestInitialize来运行代码
//[TestInitialize()]
//publicvoidMyTestInitialize(){}
//
//在每个测试运行完之后,使用TestCleanup来运行代码
//[TestCleanup()]
//publicvoidMyTestCleanup(){}
//
#endregion
[TestMethod]
publicvoidTestMethod1()
{
//
//TODO:在此处添加测试逻辑
//
}
Demon.Calculatemycal=newDemon.Calculate();
[TestMethod]
publicvoidGetSumTest()
{
inta=4;
intb=6;
intsum=mycal.GetSum(a,b);
Assert.AreEqual(10,sum);
}
}
}
总之不能为了通过单元测试而进行测试,或修改测试方案,这样即使通过了单元测试,但隐藏了方法的错误算法设计或逻辑处理,当在待定或着实际的场境下,问题还是会暴露的,所以应该严格对待单元测试,不能为了单元测试而测试。
相关文章推荐
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具Nunit
- Nunit单元测试工具使用教程
- 在.NET环境中使用单元测试工具NUnit(ZT)
- 在.NET环境中使用单元测试工具Nunit
- 单元测试工具NUnit的使用
- 单元测试使用工具Nunit2.1
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- [转]在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- 在.NET环境中使用单元测试工具NUnit
- [转]在.NET环境中使用单元测试工具NUnit