我们在代码中使用以下语句部署xml文件:
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\Scripts\\SmokeTestSuite2016Q1\\TestData\\RPSmokeTestData.xml", "SM_Test_012",DataAccessMethod.Sequential),DeploymentItem("RPSmokeTestData.xml"), TestMethod]
在本地运行正常,但即使在运行时我们收到如下警告:
Test Run deployment issue: Failed to get the file for deployment item 'RPSmokeTestData.xml': System.IO.FileNotFoundException: Could not find file 'D:\Automation\xxx\bin\Debug\RPSmokeTestData.xml'.
Warning: Test Run deployment issue: Failed to get the file for deployment item 'RPSmokeTestData.xml' specified by the test 'xxx.Scripts.SmokeTestSuite2016Q1.SmokeTest.RPSmokeTestUITest.SM_Test_012': System.IO.FileNotFoundException: Could not find file 'D:\Automation\RPSmokeTestData.xml'.
Warning: Test Run deployment issue: The assembly or module 'Microsoft.Practices.ServiceLocation' directly or indirectly referenced by the test container 'd:\automation\xxx\bin\debug\xxx.dll' was not found.
但测试运行成功。
现在我们将代码签入到我们在不同环境中维护的TFS服务器并对构建进行排队。
完成构建后,我们尝试从本地机器运行MTM测试,测试控制器和代理在本地运行。
TestOutcome'警告&#39 ;;消息'警告:测试运行部署问题: 无法获取部署项目的文件' RPSmokeTestData.xml' 由测试指定 ' demo.SmokeTestSuite2016Q1.SmokeTest.SmokeTestUITest2016Q1.SM_Test_004&#39 ;: System.IO.FileNotFoundException:找不到文件 ' C:\ Users \用户deepan \应用程序数据\本地\ VSEQT \ QTController \ RPSmokeTestData.xml''"
答案 0 :(得分:0)
根据错误信息。看来你正在寻找.xml文件的错误位置。
默认情况下,TFS Build 将构建输出放在不同的位置,然后在VS 中进行本地构建。
当您使用TFS Build时,它具有如下文件夹结构:
[workspace dir]\Sources\[projectdir]
[workspace dir]\Binaries\
TFS Build将构建输出重定向到Binaries文件夹。因此,如果您在C:\Users\deepan\AppData\Local\
中查看自定义操作,则无法找到它们。