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)