51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1631|回复: 1

[讨论] VS2015中进行单元测试

[复制链接]

该用户从未签到

发表于 2018-2-27 15:56:19 | 显示全部楼层 |阅读模式
前沿

本机环境: VS2015

创建项目使用.net版本为 .net framework 4.0

1.1创建项目

新建一个项目,项目类型不定。我在这里选择创建了一个控制台应用程序

然后在当前项目下添加一个类Calculate.cs。新建并添加后的结构如下:

在Calculate.cs文件中添加下面所示的内容:

  1. using System;

  2. using System.Collections.Generic;

  3. using System.Linq;

  4. using System.Text;



  5. namespace Example

  6. {

  7.   public class Calculate

  8.   {

  9.     /// <summary>

  10.     /// 累加器 从1开始累加到传入的值

  11.     /// </summary>

  12.     /// <param name="ivalue">传入的值</param>

  13.     /// <returns>累加的总值</returns>

  14.     public static int GetSum(int ivalue)

  15.     {

  16.       int sum = 0;

  17.       for (int i = 1; i <= ivalue; i++)

  18.       {

  19.         sum += i;

  20.       }

  21.       return sum;

  22.     }

  23.   }

  24. }
复制代码
1.2创建与之对应的单元测试

选择当前的解决方案,然后右键添加新的项目,选择测试中的单元测试项目。名称的命

名方式为Test_项目名。

我们把默认添加的UnitTest1.cs改名为:Test_Calculate.cs(和我们要测试的类名称对应)。

这时我们需要添加Example的引用这样才可以对该项目进行测试。

右键Test_Example中的引用,点击添加引用,选到项目中的Example然后点击确定即可。

这样我们修改Test_Calculate.cs中的内容如下:

  1. using System;

  2. using Microsoft.VisualStudio.TestTools.UnitTesting;

  3. using Example;



  4. namespace Test_Example

  5. {

  6.   [TestClass]

  7.   public class Test_Calculate

  8.   {

  9.     [TestMethod]

  10.     public void TesGetSum()

  11.     {

  12.       Assert.IsTrue(Calculate.GetSum(10) == 55);

  13.     }

  14.   }

  15. }
复制代码

然后通过测试->运行->所有测试来查看测试结果,结果如下:

因为1到10的累积和刚好等于55,所以测试时正确的,如果我们把55换成60,再看下效果:

这样我们就可以很清楚的看到Assert.IsTrue这里是存在问题的。

1.3常用的Assert用法

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

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

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

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

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

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

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

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

小提示

如果你本机安装了VS2010和一个更高版本的VS,这时你用VS2010编写单元测试并运

行时就会发现所有的单元测试都是处于挂起的状态。网上很多人遇到了这种情况,

所以个人建议使用更高版本的VS。


回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-3-29 13:52 , Processed in 0.071905 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表