怎样开始单元测试

2025-10-31 02:39:54

1、一,打开vs2008,创建一个类库VSTSDemo。删除掉默认生成的类,然后创建一个LogonInfo类,然后我们在这个类中写一个很简单的获取最大值的方法GetMax(int[] aryNum).方法的代码如下:

namespace VSTSDemo

 

{

 

public class LogonInfo

 

{

 

public int GetMax(int[] aryNum)

 

{

 

if (aryNum == null || aryNum.Length == 0)

 

{

 

return -1;

 

}

if (aryNum.Length == 1)

 

{

 

return aryNum[0];

 

}

int n = aryNum[0];

 

for (int i = 1; i < aryNum.Length; i++)

 

{

 

if (aryNum[i] > n)

 

{

 

n = aryNum[i];

 

}

 

}

return n;

 

}

 

}

 

}

这个方法就不解释了,很简单,应该一看就明白。它的功能就是从aryNum数组中找出最大的一个值。

2、创建单元测试项目

 

将鼠标移动到GetMax类名上面,右键,选择选项,创建单元测试,如下图:

这时候会弹出一个"创建单元测试"的操作框,我们直接点确定,然后输入新项目的名称LogonInfoTest,如下图:

确定完成后,vs会自动生成LogonInfoTest测试项目与一个Solution Items文件夹,且自动在LogonInfoTest项目下生成一个LogonInfoTest.cs文件,如下图:

注意:上面代码中的 Assert.Inconclusive("验证此测试方法的正确性") 是我手动注释掉了。这行会默认生成,但没有什么用。如果不想默认生成,可以在创建单元测试时点击设置,把默认生成这一行代码的选项勾掉。

怎样开始单元测试

怎样开始单元测试

怎样开始单元测试

3、开始测试方法LogonInfo

 

在开始测试前,我们需要改写一下GetMaxTest()方法

/// <summary>

 

///GetMax 的测试

 

///</summary>

 

[TestMethod()]

 

public void GetMaxTest()

 

{

 

LogonInfo target = new LogonInfo();

 

int[] aryNum = new int[] { 1, 3, 4 }; // 这里为aryNum赋一个初始值

 

int expected = 4; // 这里设置是GetMax方法预期值,从上面的初始值及GetMax方法的本意我们知道预期值应该是4

 

int actual;

 

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()中的初始值与预期值,再次运行测试方法查看测试结果。

怎样开始单元测试

怎样开始单元测试

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢