Unit testing 在单元测试用例的TFS生成中找不到路径的一部分

Unit testing 在单元测试用例的TFS生成中找不到路径的一部分,unit-testing,tfs,continuous-integration,tdd,azure-pipelines-build-task,Unit Testing,Tfs,Continuous Integration,Tdd,Azure Pipelines Build Task,我试图在构建管道中包含单元测试用例,以将这些单元测试用例作为构建的一部分来运行。我的测试用例很少使用单元测试项目中XML文件中存储的测试数据。这些测试在我的本地系统中成功运行。但是,当我尝试将这些测试用例作为TFS构建管道的一部分运行时,这些测试用例失败了,因为构建无法找到这些XML文件中的数据 我试图替换TFS生成路径的配置文件应用程序设置,但它不起作用。测试用例仍然面临同样的失败。 还尝试将这些文件作为bin文件夹的一部分,我可以看到这些文件存在 下面是作为TFS构建的一部分运行单元测试运行

我试图在构建管道中包含单元测试用例,以将这些单元测试用例作为构建的一部分来运行。我的测试用例很少使用单元测试项目中XML文件中存储的测试数据。这些测试在我的本地系统中成功运行。但是,当我尝试将这些测试用例作为TFS构建管道的一部分运行时,这些测试用例失败了,因为构建无法找到这些XML文件中的数据

我试图替换TFS生成路径的配置文件应用程序设置,但它不起作用。测试用例仍然面临同样的失败。 还尝试将这些文件作为bin文件夹的一部分,我可以看到这些文件存在

下面是作为TFS构建的一部分运行单元测试运行时遇到的异常

断言失败。系统异常:找不到系统的一部分 路径 “I:\Agent-Win-C_work\495\s\STARS-2.UnitTests\bin\XMLStore\CustomerRequest.xml”。 堆栈跟踪:在System.IO.\u Error.WinIOError(Int32 errorCode,String 在System.IO.FileStream.Init(字符串路径,FileMode)处 模式、文件访问、Int32权限、布尔用户权限、文件共享 共享、Int32缓冲区大小、文件选项、安全属性 secAttrs、字符串msgPath、布尔bFromProxy、布尔useLongPath、, System.IO.FileStream..ctor(字符串路径,文件模式)上的布尔checkHost 模式、文件访问、文件共享共享、Int32 bufferSize、, FileOptions选项、字符串msgPath、布尔bFromProxy)位于 System.IO.FileStream..ctor(字符串路径、文件模式、文件访问 访问、文件共享、Int32缓冲区大小) GetStream(Uri,ICredentials 凭据、IWebProxy代理、RequestCachePolicy(缓存策略)位于 System.Xml.XmlUrlResolver.GetEntity(Uri绝对Uri,字符串角色,类型 of object(返回)at 位于的System.Xml.XmlTextReaderImpl.OpenUrlDelegate(对象xmlResolver) System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode 代码,清除代码backoutCode,对象userData)位于 系统。线程。压缩堆栈。运行(压缩堆栈压缩堆栈, ContextCallback回调,对象状态)位于 System.Xml.XmlTextReaderImpl.OpenUrl()位于 System.Xml.XmlTextReaderImpl.Read()位于 System.Xml.xmloader.Load(XmlDocument文档,XmlReader阅读器,布尔值 在System.Xml.XmlDocument.Load(XmlReader)中保留空白) 加载(字符串文件名)位于 STARS_2.UnitTests.TestCommon.TestDataCaller.RFCXmlConnect(字符串 文件名)在 I:\Agent-Win-C\u work\495\s\STARS-2.UnitTests\TestCommon\TestDataCaller.cs:16行


任何解决此问题的建议

您不仅需要包含测试所依赖的xml文件,还需要使用[DeploymentItem(bin内的路径,部署到的路径)]将其部署到生成中的测试代理。

您好,您如何在代码中引用该文件?正如SalamiArmy提到的,您可能需要使用部署项,但在堆栈跟踪中,xml文件似乎位于子文件夹(XMLStore)中。您是使用完整路径还是相对路径来引用它?同样对于部署项,它将是[DeploymentItem(@“XMLStore\CustomerRequest.xml”)]Hi Naveen,关于此票据的任何更新,您是否有机会实施SalamiArmy建议的解决方案?你能解决吗?萨拉米军队提供的建议在我的情况下不起作用。我们修改了单元测试代码,使用反射加载测试数据