0

所以我正在尝试测试控制器,但遇到了问题。部分代码需要加载文件,但我收到此错误:

Errno::ENOENT:
       No such file or directory - ./public/licenses/58efcffc3d8441fcc0627164a8b1350aFCV5Hmashup_lic.xml

但是,该文件确实退出。当我在浏览器中运行它时,它工作得很好,没有问题(但我仍然想写一个测试)。

我不知道这是否与它有关,但是我在运行测试时使用了数据库。我知道这实际上不是我应该这样做的,但我不知道其他任何方式。

任何帮助都是极好的。谢谢。

4

2 回答 2

1

很可能是因为您对运行测试时当前工作目录所在位置的假设是错误的。尝试放在puts File.dirname('.')那里以确保您从您认为的目录运行。

于 2011-09-05T17:00:10.147 回答
0

作为调试工具:

在您的测试中,就在检查文件的语句之前,尝试添加

puts "list dir " + `ls ./public/licenses/`

看看文件是否真的存在。

可能是来自测试用户 ID 的权限问题

也可能是该文件实际上并不存在...

于 2011-09-05T03:21:15.190 回答