1

我在 Rails 3.2 和 Spree 1.1 上。运行初始时,rake test_app --trace我得到:

** Invoke test_app (first_time)
** Execute test_app
** Invoke common:test_app (first_time)
** Execute common:test_app
Generating dummy Rails application...
Setting up dummy database...
The system cannot find the path specified.

rake test_appspree\core. 据我所知spree\core\lib\generators\spree\dummy\templates\rails\database.yml,施普雷正在寻找db\spree_test.sqlite3。我尝试手动创建此数据库,但没有运气。

如果这有帮助,我也在 Windows 7 上,因为它可能是某种环境设置。

4

1 回答 1

3

这似乎是 Spree 生成器中的一个小错误:

puts "Setting up dummy database..."
cmd = "bundle exec rake db:drop db:create db:migrate db:test:prepare"

if RUBY_PLATFORM =~ /mswin/ #windows
  cmd += " >nul"
else
  cmd += " >/dev/null"
end

system(cmd)

在我的情况下,RUBY_PLATFORM 是“i386-mingw32”,else 块添加“>/dev/null”,这是 linux 的有效消音器,但在 Windows 中会出现错误。

如此简单的解决方法可能是:

if RUBY_PLATFORM =~ /mswin|mingw/

正如我从这里的帖子中看到的这里这里没有可靠的方法来确定正在运行的操作系统,但是有一些启发式代码。

代码取自 spree\core\lib\spree\testing_support\common_rake.rb

否则,您可以运行:

bundle exec rake db:drop db:create db:migrate db:test:prepare
于 2013-04-13T00:01:56.510 回答