2016-04-15 5 views
0

私はウェブページからPDFファイルをダウンロードし、ダウンロードフォルダに移動したことを確認してから削除します(PDFで圧倒されているフォルダを停止するため)。Rubyファイルキュウリを削除する

他人が自分のマシンでこのテストを実行できるように、ファイルパスにワイルドカードを使用しようとすると、ファイルが存在しないというエラーが表示されます。

これは私のコードです:

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

関連する問題