|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。单位测试作为程序员一样平常事情中的主要部分,却被年夜多半的程序职员疏忽失落了,乃至良多写了多年月码的老程序猿都不晓得怎样创立一个复杂的单位测试。我本人也是比来才发明单位测试的主要性,然后入手下手试着做一些复杂的测试,这一章中我们入手下手做一个复杂的简元测试吧。
在vs2008中创立单位测试
一,翻开vs2008,创立一个类库VSTSDemo。
由于我在进修的时分用的就是vs2008,别的版本的vs,办法应当差未几,人人本人研讨吧:)
删撤除默许天生的类,然后创立一个LogonInfo类,然后我们在这个类中写一个很复杂的猎取最年夜值的办法GetMax(int[]aryNum).办法的代码以下:
namespaceVSTSDemo
{
publicclassLogonInfo
{
publicintGetMax(int[]aryNum)
{
if(aryNum==null||aryNum.Length==0)
{
return-1;
}
if(aryNum.Length==1)
{
returnaryNum[0];
}
intn=aryNum[0];
for(inti=1;i<aryNum.Length;i++)
{
if(aryNum>n)
{
n=aryNum;
}
}
returnn;
}
}
}
这个办法就不注释了,很复杂,应当一看就分明。它的功效就是从aryNum数组中找出最年夜的一个值。
二,创立单位测试项目
将鼠标挪动到GetMax类名下面,右键,选择选项,创立单位测试,以下图:
这时候候会弹出一个"创立单位测试"的操纵框,我们间接点断定,然后输出新项目标称号LogonInfoTest,以下图:
断定完成后,vs会主动天生LogonInfoTest测试项目与一个SolutionItems文件夹,且主动在LogonInfoTest项面前目今天生一个LogonInfoTest.cs文件,以下图:
注重:下面代码中的Assert.Inconclusive("考证此测试办法的准确性")是我手动正文失落了。这行会默许天生,但没有甚么用。假如不想默许天生,能够在创立单位测试时点击设置,把默许天生这一行代码的选项勾失落。
三,入手下手测试办法LogonInfo
在入手下手测试前,我们必要改写一下GetMaxTest()办法
///<summary>
///GetMax的测试
///</summary>
[TestMethod()]
publicvoidGetMaxTest()
{
LogonInfotarget=newLogonInfo();
int[]aryNum=newint[]{1,3,4};//这里为aryNum赋一个初始值
intexpected=4;//这里设置是GetMax办法预期值,从下面的初始值及GetMax办法的本意我们晓得预期值应当是4
intactual;
actual=target.GetMax(aryNum);
Assert.AreEqual(expected,actual);//这里判别expected与actual是不是相称,假如相称,则判断测试乐成,反之失利
//Assert.Inconclusive("考证此测试办法的准确性。");
}
注重Assert.AreEqual(expected,actual)这一行代码,Assert.AreEqua是测试expected和actual是否是相称,相称就以为乐成,不相称就以为失利。一样用来判断的办法共有以下几个:
Assert.AreEqual()测试指定的值是不是相称,假如相称,则测试经由过程;
Assert.Inconclusive()暗示一个未考证的测试;
Assert.IsTrue()测试指定的前提是不是为True,假如为True,则测试经由过程;
Assert.IsFalse()测试指定的前提是不是为False,假如为False,则测试经由过程;
Assert.IsNull()测试指定的工具是不是为空援用,假如为空,则测试经由过程;
Assert.IsNotNull()测试指定的工具是不是为非空,假如不为空,则测试经由过程;
代码改写完成后,我们翻开vs菜单上的"测试"->"窗口"->"测试视图",会呈现测试视图窗口,以下图:
在测试视图窗口中列出了一切我们创立的测试办法,鼠标挪动到GetMaxTest办法下面,在右键当选择"运转选定内容",测试就入手下手啦。测试的了局会显现在"测试了局"的窗口中,以下图:
从下面的了局我们就能够晓得办法测试是不是经由过程了。然后我们也能够改动测试办法GetMaxTest()中的初始值与预期值,再次运转测试办法检察测试了局。
代码掩盖率
代码掩盖率指的就是在运转测试案例时,案例运转时所实行的代码局限水平。代码掩盖率越高,申明案例越好。被测代码中每一个可实行语句都被实行到了,测试出来的了局也就是越不乱。好比,在单位测试中,代码掩盖率必需到达80%或90%,如许,就请求我们好好编写测试案例了。
那末要怎样检察代码的掩盖率呢?我们双击文件夹SolutionItems下的LocalTestRun.testrunconfig文件。在弹出来的窗口中来设置要检察代码掩盖率的办法,以下图:
运转测试办法后,我们翻开vs菜单上的"测试"->"窗口"->"代码掩盖率了局"窗口,在窗口中双击要检察代码掩盖率的办法,以下图:
掩盖率的了局以下图:
个中橙色的代码暗示部分实行了,白色代码暗示没有实行,蓝色代码暗示全体实行了。固然,这个色彩能够在"工具"->"选项"->"字体和色彩"中自界说。一般的指的.net就是跟java相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#) |
|