使用Visual Studio 2013进行单元测试--初级篇

发表于:2015-6-11 10:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Look_Sun    来源:51Testing软件测试网采编

分享:
  10.测试资源管理器里面会显示当前解决方案里面的所有单元测试。说明白点就是这里只显示符合【第8点】要求的方法。
  你可能会说,为什么上面的图里面什么都没显示,【TestMethod】特性和TestClass】特性现在不是都有吗?
  原因是你还没有生成程序集。OK,按F6.就可以看到【测试资源管理器】中显示了【TestMethod1】:
  11.我们要清楚我们创建单元测试的初衷:是用工具帮助我们测试软件的质量、稳定性、性能等等。【VS】在这里就充当了工具的作用。
  12.回到命名的问题,很明显TestMethod这个名字太难看了,我们把它改成AddTest表示这是在测试Add方法。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestDemoTest
{
[TestClass]
public class ProgramTest
{
[TestMethod]
public void AddTest()
{
}
}
}
  13.截止目前,我们已经建立了一个可以执行的测试框架,虽然没有起到什么作用,但是测试已经可以执行了。
  执行测试的方法之一是:右键点击需要测试的【单元测试】方法的名称,选择运行:
  运行测试之后,可以在测试资源管理器中查看测试的结果:
  执行单元测试的方法有很多,这些需要我们在不断的学习中去体会。
  14.接下来我们做一点有意义的事情。改进AddTest方法:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestDemoTest
{
[TestClass]
public class ProgramTest
{
[TestMethod]
public void AddTest()
{
int num1 = 100;
int num2 = 200;
Assert.AreEqual(Program.Add(num1, num2), 300);
}
}
}
  在这之前,请把Program类的可见性改为internal或者Public。
  15.“Assert”之前没接触过单元测试的朋友,或者英语差点的可能不认识。上谷歌翻译:
  清楚的看到,“Assert”的意思是“断言”。所以“Assert.AreEqual(Program.Add(num1, num2), 300);”这句话的意思就是:我断言“Program.Add(num1, num2)”的结果就是300。
  而断言的正确与否只需要通过测试工具测试即可。如果测试通过说明此断言是正确的,反之就说明这个测试失败了。
  断言有很多种,包括上面普通的Assert,还有字符串断言,集合断言等等。
  注意Assert.AreEqual(expected, actual)这一行代码,Assert.AreEqua是测试expected和actual是不是相等,相等就认为成功,不相等就认为失败。同样用来判定的方法共有以下几个:
  Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过;
  Assert.Inconclusive() 表示一个未验证的测试;
  Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过;
  Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过;
  Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过;
  Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过;
  16.ok,运行测试可以看到测试通过。
  17.如果上面所说的你都明白,那么到这里为止,你可以自己编写简单的单元测试代码并执行测试了。
  最后还有一个要说的就是,如果你觉得手动编写单元测试类和方法太麻烦,那么可以使用“Unit Test Generator”插件帮助你生成单元测试和方法。
  这样你可以把重心偏到编写测试逻辑上。
  “Unit Test Generator”可以通过VS菜单栏【工具】-->【扩展和更新】-->搜索““Unit Test Generator””取得。
  18.安装“Unit Test Generator”需要重启VS。
  在需要进行单元测试的类和方法上点击右键,如图操作(图中演示的是生成单元测试方法)
  点击之后会弹出一个对话框,需要你配置一个名称的规则,配置好后点击ok即可生成测试方法。
  19.最后希望大家养成随时测试代码的好习惯。
22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号