VSTS 编写测试Test技巧:如何使用Deployment Items在测试类中引用文件,和普通Windows项目不一样哦。...

问题来源:

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

 


会出现类似下列错误:

 

None.gif 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了。其实使用第一种方法最终也会生成这样的代码的。

ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
InBlock.gif
InBlock.gif        
///A test for GetDataFromWebService ()
InBlock.gif
ExpandedBlockEnd.gif        
///</summary>

None.gif
None.gif        [DeploymentItem(
" DsRulesTestData.xml " ), TestMethod()]
None.gif
None.gif        
public   void  GetDataFromWebServiceTest()
None.gif
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif
InBlock.gif         
//操作
ExpandedBlockEnd.gif
        }

None.gif

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值