码迷,mamicode.com
首页 > 其他好文 > 详细

使用Visual Studio进行单元测试

时间:2014-11-05 19:15:41      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   os   使用   sp   strong   数据   

原文:使用Visual Studio进行单元测试

一、使用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 如图。

bubuko.com,布布扣

 

2.得到模版如图

bubuko.com,布布扣

 

3.在测试方法中(此处为默认的TestMethod1,一般修改为 需要测试的方法名+Test )添加自己需要测试的代码

 

例如添加类XmlSerializationTest,代码如下:

 
C# 代码   复制
bubuko.com,布布扣
bubuko.com,布布扣   [TestClass]
bubuko.com,布布扣    public class XmlSerializationTest
bubuko.com,布布扣    {
bubuko.com,布布扣        private XmlSerialization serialization;
bubuko.com,布布扣        [TestInitialize]
bubuko.com,布布扣        public void InitTest()
bubuko.com,布布扣        {
bubuko.com,布布扣            this.serialization = new XmlSerialization(@"F:\\usermodel.seri");
bubuko.com,布布扣        }
bubuko.com,布布扣
bubuko.com,布布扣        [TestMethod]
bubuko.com,布布扣        public void TestWriteXml()
bubuko.com,布布扣        {
bubuko.com,布布扣            UserModel user = new UserModel();
bubuko.com,布布扣            bool flag = serialization.WriteXml<UserModel>(user);
bubuko.com,布布扣            Assert.IsTrue(flag);
bubuko.com,布布扣            Assert.IsFalse(serialization.WriteXml<UserModel>(null));
bubuko.com,布布扣        }
bubuko.com,布布扣
bubuko.com,布布扣        [TestMethod]
bubuko.com,布布扣        public void TestReadXml()
bubuko.com,布布扣        {
bubuko.com,布布扣            UserModel user = new UserModel();
bubuko.com,布布扣            user.LoginName = "aa";
bubuko.com,布布扣            serialization.WriteXml<UserModel>(user);
bubuko.com,布布扣            UserModel model = serialization.ReadXml<UserModel>();
bubuko.com,布布扣            Assert.IsNotNull(model);
bubuko.com,布布扣            Assert.AreEqual(user.LoginName, model.LoginName);
bubuko.com,布布扣
bubuko.com,布布扣            //路径不存在,应返回null
bubuko.com,布布扣            UserModel modelnull = serialization.ReadXml<UserModel>(@"F:\\notexists.seri");
bubuko.com,布布扣            Assert.IsNull(modelnull);
bubuko.com,布布扣        }
bubuko.com,布布扣    }
bubuko.com,布布扣bubuko.com,布布扣

 

4。测试代码写好后, 即可点击上方菜单Test-Run- AllTests等,来进行测试

 

测试完毕后。下方会产生结果列表。红色为未通过的TestCase。若想对其进行DEBUG,可右击红色的TestCase,选择Debug selected Tests。修改后,也可右击想要重新测试的TestCase,选择Run Selected Tests.

使用Visual Studio进行单元测试

标签:blog   http   io   ar   os   使用   sp   strong   数据   

原文地址:http://www.cnblogs.com/lonelyxmas/p/4076709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!