所以我试图测试一个控制器,但遇到了问题。部分代码需要加载文件,但我收到此错误:
Errno::ENOENT:
No such file or directory - ./public/licenses/58efcffc3d8441fcc0627164a8b1350aFCV5Hmashup_lic.xml
但是,该文件确实退出。当我在浏览器中运行它时,它可以正常工作而没有任何问题(但我还是想写一个测试)。
我不知道这是否与它有关,但我在运行测试时使用的是数据库。我知道这不是我应该怎么做的,但我不知道其他任何方式。
任何帮助都会很棒。感谢。
答案 0 :(得分:1)
很可能是因为您在运行测试时假设当前工作目录的位置是错误的。尝试在其中放置puts File.dirname('.')
以确保您从您认为自己的目录运行。
答案 1 :(得分:0)
作为调试工具:
在测试中,就在检查文件的语句之前,尝试添加
puts "list dir " + `ls ./public/licenses/`
查看文件是否真的存在。
可能是测试用户ID
的权限问题也可能是文件实际上并不存在......