关于Visual studio .net2005 team suite中的测试功能(1)

来源:互联网 发布:家具设计画图软件 编辑:程序博客网 时间:2024/05/17 02:17
 
关于Visual studio .net2005 team suite中的测试功能
 
.net2005在IDE中集成了更多的功能,包括重构,测试。
重构和测试都是很好用的功能,我今天谈一下这两天使用单元测试功能的一些感受。
 
由于项目的需要,我需要测试DAL层中的类,在别人的提醒下直接使用了.net2005中的“单元测试向导”功能。测试向导可以帮你生成整个项目的单元测试代码,操作起来也非常的方便,只需要你选择想要测试的项目,类,方法,确定后就可以慢慢等待他的生成了,挺不错的建议是上个洗手间,顺便想一想接下来的测试工作。你回来后会发觉你系统已经帮你生成了大量的单元测试类。别以为大功告成了,微软做事从来只是做一部分,他只是生成了大概的框架,剩下的还是要自己动手。但相比起我们之前用NUnit来测试可是进步了很多,省了很多的工作了。
方便归方便,使用的时候还是要注意一些问题:
1、 时刻记住当你运行测试的时候,你的起始应用程序是你的测试项目。这个问题在开始的时候让我琢磨了好久,可能个人比较笨些。由于我测的整个系统是b/s系统,所以将数据库连接信息写进了web.config文件中,然后通过ConfigurationManager.ConnectionStrings进行访问,整个逻辑清晰明了。但当我运行单元测试在DAL层中访问的时候我怎么也取不到那个数据库连接字符串,老是取到微软提供的默认串。于是以为方法用错了,查文章、MSDN、在IIS中折腾都没有结果。后来在web项目中加一个web页面来测试又能够正确取到该值,想来想去觉得应该是启动项目是测试项目导致无法取到连接串信息,于是在测试项目中加了个App.config,果然就取到了。由于测试时是以测试项目为起点的,系统运行时所要读取的相关文件默认情况下都是到启动项目的BIN目录中寻找。而我开始并没有意识到这一点,所以总以为它会自动去读web项目中的web.config文件,想通整个问题后觉得是多么的可笑啊。
2、 测试过程中需要用到的所有项目都以引用的方式添加进来,如果需要的话,你可能需要将那些没有显式引用的项目也要添加进来。我碰到过下面这种情况,我们通过在web.config文件的appsetting区域中指定一些配置信息以进行动态的实例化对象。在appsetting中指定了项目的Assembly,但是在运行单元测试程序调用Assembly.Load方法时却一直提示无法找到该文件,经过了漫长的思想折磨后才想起,我测试项目的BIN目录下确实没有这个组件。在开始解决这个问题的时候,我犯了和之前那个问题的同样的毛病,老是在Web项目的bin目录下找问题。后来才意识到错了。
 
 
测试了几个类,觉得单元测试部分还是相当好用的,虽然仍然要自己写代码,但已经比起Nunit进步了很多了。
 
原创粉丝点击