在软件测试的时候,通常会使用到各种数据资源,比如:某个XML文件。我们知道在Windows项目中,只要选择设置文件的选项“Copy to Output Directory”为“Copy Always”或者“Copy if Newer”就可以引用,在ASP。Net项目使用Server. Map可以引用;在测试项目里面却不是这样的,因为测试的时候,微软的测试程序把你的编译结果Copy到了另外一个地方,但是它包含的编译结果却不是包含了所有的文件,比如你设置为的“Copy Always”的XML文件。假如你测试代码是这样引用的话:
javascript:return big(this)" style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; BORDER-RIGHT-WIDTH: 0px" height=248 alt="" src="https://www.ltesting.net/attachments/2009/04/54376_200904031215411jc17.gif" width=450 onload="javascript:if(this.width>498)this.style.width=498;" border=0> |
会出现类似下列错误:
Test method EMADataTest.DsRulesTest.GetDataFromWebServiceTest threw exception: System.IO.FileNotFoundException: 未能找到文件“E:projectsEMA2006ConflictCheckforEMATestResultscleo_CMS-CLEO 2006-04-12 18_39_42OutDsRulesTestData.xml”。.
解决办法:
办法1:界面操作就可以搞定哦
1.先定位到Test View ,选取用到这个数据的测试方法
2:修改Deployment Items属性,可以添加多个文件,一行一个。
只要添加[DeploymentItem("FileName")]就OK了。其实使用第一种方法最终也会生成这样的代码的。
/**//// <summary> ///A test for GetDataFromWebService () ///</summary> [DeploymentItem("DsRulesTestData.xml"), TestMethod()] public void GetDataFromWebServiceTest() { //操作 |
这样,你的代码就不会出错了。
文章来源于领测软件测试网 https://www.ltesting.net/