Ruby 文件删除黄瓜
Ruby File Delete Cucumber
我正在 运行ning 测试从网页下载 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
奇怪的是,在 Dir 中确认时通配符起作用。
只要我将实际用户名放在文件路径中,它就会起作用。有没有办法解决这个问题?
不确定我是否读对了,但是——根据代码——你将一个包含星号的字符串传递给 File.delete
。在将该字符串传递给 File.delete
之前,您需要对该字符串调用 Dir::[]
以执行通配符转换。例如:
File.delete(Dir["C:/Users/**/Downloads/myfile.pdf"].last)
我正在 运行ning 测试从网页下载 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
奇怪的是,在 Dir 中确认时通配符起作用。
只要我将实际用户名放在文件路径中,它就会起作用。有没有办法解决这个问题?
不确定我是否读对了,但是——根据代码——你将一个包含星号的字符串传递给 File.delete
。在将该字符串传递给 File.delete
之前,您需要对该字符串调用 Dir::[]
以执行通配符转换。例如:
File.delete(Dir["C:/Users/**/Downloads/myfile.pdf"].last)