![](/img/trans.png)
[英]Selenium test fails to run with IE11 on build machine running TFS 2018 build agent
[英]TFS Build Machine Test method errors out on build machine
這是我的單元測試代碼:
[TestMethod]
public void GetMyAttachmentTest()
{
var files = Directory.GetFiles(
Directory.GetCurrentDirectory() + "/Common/MyFiles/", "*.*");
.... do some thing with the files...
}
在TFS生成計算機上,當我運行單元測試時,出現以下錯誤:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Builds\4\30 my folder v1.0\myfolder1\TestResults\SCMTFSService_MyBuildServer 2013-01-16 18_06_52_Any CPU_Release\Out\Common\MySpecialFiles\'.
當我查看TFS中的放置文件夾時,我看到我的文件已部署到以下文件夾中:
\\MyBuildServer\Builds\MyFolder\MySolution_20130116.5\Common\MySpecialFiles
在單元測試代碼中,我得到的文件如下:
var files = Directory.GetFiles(
Directory.GetCurrentDirectory() + "/Common/MySpecialFiles/", "*.*");
當我的單元測試在TFS構建計算機上運行時,是否可以查看已部署的Common\\MySpecialFiles
的文件?
這個問題有點含糊。 過去,我在臨時位置執行單元測試時遇到問題。 對於諸如GetCurrentDirectory()
類的動態路徑,這可能會出現問題。 臨時目錄更改/清除時,文件可能會“丟失”。
代替使用動態路徑,而是使用適當的權限來設置網絡共享。 我建議存儲到此網絡的路徑,以共享配置文件或數據庫,以便無需代碼推送即可對其進行更新。
為什么不將文件的位置放在app.config / web.config文件的appSettings項目中? 無論是本地,構建服務器還是已部署的環境,都可以輕松地對其進行更改以匹配您的環境。
否則,您必須在運行測試之前將當前目錄設置為\\ MyBuildServer \\ Builds \\ MyFolder \\ MySolution_20130116.5 ,這可能會以其他方式影響您的測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.