返回首页>软件资讯

VS2010中如何进行单元测试

关注+2013/5/17 10:10:59

单元测试,每个程序员都会测试的。编写一个模块,都会进行程序的单元测试。以前公司开发工具都是vs2005,2008。都是下载个Nunitl来做单元测试,现在新用的vs2010有自带的单元测试功能。那么下面按照详细的步骤开始介绍。

VS2010中如何进行单元测试

VS中的测试工具可以对任何类、接口、结构等实体中的字段、属性、构造函数、方法等进行单元测试。

单元测试分两种:整体测试和单独测试。

整体测试:如果要对一个类中所有的方法都添加测试用例,可以对类名点右键,这样对类中所有方法自动生成测试方法。

单独测试:如果只是对类中的某个方法进行单元测试,那么对方法点右键→创建单元测试即可。

案例:下面我们用一个案例说明如何使用vs中的单元测试。

步骤一:创建一个名称为TestCase的控制台项目。

由于该步骤比较简单,这里我们就不再赘述了。

然后添加一个Calculator类,在类中写一个GetAvg方法

代码如下:

步骤二:创建单元测试

接下来,将鼠标放到Calculator类上,然后点击鼠标右键,从菜单项中找到“创建单元测试”项,结果如下图

点击确定后,在新建测试项目中,输入需要创建的单元测试的新项目的名称,然后单击"创建"按钮,则自动创建一个新的单元测试代码项目

步骤三:根据需要修改测试用例

默认情况下,系统自动生成了测试用例方法,但是不符合我们的需求,我们需要订正。

针对GetAvg方法我们可以做如下订正。

说明:Assert.AreEqual(expected, actual);

Assert在这里可以理解成断言:在VSTS里做单元测试是基于断言的测试。

默认代码中Assert.Inconclusive 表明这是一个未经验证的单元测试。在实际的程序中可以注释掉。

当然 ,Assert类还有其他方法

1、Assert类的使用

Assert.Inconclusive() 表示一个未验证的测试;

Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过;

AreSame() 用于验证指定的两个对象变量是指向相同的对象,否则认为是错误

AreNotSame() 用于验证指定的两个对象变量是指向不同的对象,否则认为是错误

Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过;

Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过;

Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过;

Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过;

步骤四:运行单元测试

通过

菜单项执行调试或者通过

进行调试。

步骤五:查看结果

这样我们就完成对GetAvg方法的单元测试。

最后说下自己碰到的一些问题吧!

问题:在Win7系统上安装了VS2010和VS2012,但是单元测试结果总是挂起。上网搜索了N久,也没有找到解决方案,最后只能通过Reshapeer插件运行单元测试

当然如果单元测试出错,会有对应的消息

多做单元测试能提升我们编辑的质量。增强对编程的信心。单元测试的讲解就到这里,希望可以帮到大家。

    相关下载
    合集推荐
    • 最新排行
    • 最热排行
    • 评分最高
    排行榜

      点击查看更多

        点击查看更多

          点击查看更多

          我要吐槽
          返回顶部