2016-04-15 106 views
0

我正在運行測試,從網頁下載PDF文件,確認它已下載到下載文件夾中,然後將其刪除(以阻止文件夾被PDF壓垮)。紅寶石文件刪除黃瓜

當試圖在文件路徑中使用通配符以便其他人可以在其計算機上運行此測試時,出現錯誤,指出文件不存在。

這是我的代碼:

pdf_file = ("C:/Users/**/Downloads/myfile.pdf") 

And(/^I can see the downloaded PDF$/) do 
    puts Dir['C:/**/**/Downloads/myfile.pdf'].last 
File.delete(pdf_file) 
end 

很奇怪的是,通配符迪爾內確認時使用。

只要將實際的用戶名放在文件路徑中,它就可以工作。無論如何要解決這個問題嗎?

回答

1

不知道我是否正確閱讀此內容,但是 - 基於代碼 - 您傳遞的字符串包含星號File.delete。您需要在該字符串上調用Dir::[]以在將其傳遞到File.delete之前執行通配符轉換。例如:

File.delete(Dir["C:/Users/**/Downloads/myfile.pdf"].last) 
+0

這是正確的,謝謝 – Tom