Errno :: EACCES:运行rake test:models时,权限被拒绝@ unlink_internal

时间:2014-11-25 23:12:52

标签: ruby-on-rails rake

我正在使用rails 4.我刚刚为我的模型创建了非常简单的测试,但是当我尝试执行“rake test:models”时,我得到以下错误:

C:\rails\project>rake test:models
DL is deprecated, please use Fiddle
rake aborted!
Errno::EACCES: Permission denied @ unlink_internal - /tmp/db/new.sqlite3
C:/rails/project/test/test_helper.rb:3:in `<top (required)>'
C:/rails/project/test/models/admin_test.rb:1:in `<top (required)>'
Tasks: TOP => test:models
(See full trace by running task with --trace)

我的测试数据库配置如下所示:

test:
  adapter: sqlite3
  database: /tmp/db/new.sqlite3
  pool: 5
  timeout: 5000

“/ tmp / db”是我可以在个人笔记本电脑上完全访问的目录。

任何想法可能是这个问题的根源?

2 个答案:

答案 0 :(得分:8)

我能够解决此错误的一种方法是使用

rake db:migrate rails_env=test

这会在我的test.sqlite3上生成必要的迁移

我认为rails_env的默认设置是&#34; dev&#34;但这可能会有所不同。我对rails很新,但我希望这会有所帮助。

答案 1 :(得分:5)

我的test.sqlite3表遇到了同样的问题,对我有用的是制作development.sqlite3表的副本并将其重命名为test.sqlite3。我希望这适合你。