如何使用Deployment Items在测试类中引用文件

发表于:2007-8-27 14:08

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

 作者:cleo    来源:cleo-凡事从积极的态度做起

问题来源:

        在测试的时候,通常会使用到各种数据资源,比如:某个XML文件。我们知道在Windows项目中,只要选择设置文件的选项“Copy to Output Directory”为“Copy Always”或者“Copy if Newer”就可以引用,在ASP。Net项目使用Server. Map可以引用;在测试项目里面却不是这样的,因为测试的时候,微软的测试程序把你的编译结果Copy到了另外一个地方,但是它包含的编译结果却不是包含了所有的文件,比如你设置为的“Copy Always”的XML文件。假如你测试代码是这样引用的话:
                      

        会出现类似下列错误:
 Test method EMADataTest.DsRulesTest.GetDataFromWebServiceTest threw exception:  System.IO.FileNotFoundException: 未能找到文件“E:\projects\EMA2006\ConflictCheckforEMA\TestResults\cleo_CMS-CLEO 2006-04-12 18_39_42\Out\DsRulesTestData.xml”。

解决办法:
办法1:界面操作就可以搞定哦
        1.先定位到Test View ,选取用到这个数据的测试方法
        2:修改Deployment Items属性,可以添加多个文件,一行一个。
                  

解决办法2:使用代码方法
        只要添加[DeploymentItem("FileName")]就OK了。其实使用第一种方法最终也会生成这样的代码的。

/**//// <summary>

        ///A test for GetDataFromWebService ()

        ///</summary>

        [DeploymentItem("DsRulesTestData.xml"), TestMethod()]

        public void GetDataFromWebServiceTest()

        {

         //操作
        }

 

        这样,你的代码就不会出错了。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号