使用Visual Studio进行单元测试

发表于:2014-11-27 13:13

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

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

  一、使用Visual Studio进行单元测试的几个建议
  1.先写单元测试(依我愚见,应该是接口先行,如果有的话) -> 测试失败 -> 以最小的改动(即编写实际代码)使测试通过(而在VS2012中已经不能通过现有项目直接生成测试项目了,我觉得这个功能还是应该保留,微软总是这副德行,强迫用户适应他们的产品,但是又不得不适应);
  2.不因单元测试而追加功能(代码),即逻辑不受单元测试影响;
  3.改变了代码的逻辑(增删改),应及时运行单元测试;
  4.在测试方法声明Attribute —— TestCategory("分类或特征名");
  5.在单元测试项目添加Fakes程序集分离外部依赖(如数据库访问,获取配置信息等);
  6.初始化单元测试类中的成员等信息,可添加方法并声明Attribute[TestInitialize](方法需为public);
  二、下面我们以VS2012为例,来看一下如何在Visual Studio中进行单元测试
  1.首先,右键点击解决方案(Solution)弹出右键菜单(Context)
  选择添加(Add) - 新项目(New Project), 在给出的模版中,选择 Visual C# - Test -Unit Test Project 如图。
  2.得到模版如图
  3.在测试方法中(此处为默认的TestMethod1,一般修改为 需要测试的方法名+Test )添加自己需要测试的代码
  例如添加类XmlSerializationTest,代码如下:
[TestClass]
public class XmlSerializationTest
{
private XmlSerialization serialization;
[TestInitialize]
public void InitTest()
{
this.serialization = new XmlSerialization(@"F:\\usermodel.seri");
}
[TestMethod]
public void TestWriteXml()
{
UserModel user = new UserModel();
bool flag = serialization.WriteXml<UserModel>(user);
Assert.IsTrue(flag);
Assert.IsFalse(serialization.WriteXml<UserModel>(null));
}
[TestMethod]
public void TestReadXml()
{
UserModel user = new UserModel();
user.LoginName = "aa";
serialization.WriteXml<UserModel>(user);
UserModel model = serialization.ReadXml<UserModel>();
Assert.IsNotNull(model);
Assert.AreEqual(user.LoginName, model.LoginName);
//路径不存在,应返回null
UserModel modelnull = serialization.ReadXml<UserModel>(@"F:\\notexists.seri");
Assert.IsNull(modelnull);
}
}
  4.测试代码写好后, 即可点击上方菜单Test-Run- AllTests等,来进行测试
  测试完毕后。下方会产生结果列表。红色为未通过的TestCase。若想对其进行DEBUG,可右击红色的TestCase,选择Debug selected Tests。修改后,也可右击想要重新测试的TestCase,选择Run Selected Tests.
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号