"rake test"不加载灯具?

Pav*_* K. 1 testing automated-tests unit-testing ruby-on-rails

当我跑

rake test --trace
Run Code Online (Sandbox Code Playgroud)

这是发生了什么

** Invoke test (first_time)
** Execute test
** Invoke test:units (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment 
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment 
** Execute db:schema:load
** Execute test:units
/usr/bin/ruby1.8 -I"lib:test".... (and after that fails because there's no fixtures loaded)
Run Code Online (Sandbox Code Playgroud)

为什么不加载灯具(我认为这将是默认行为)以及如何在执行测试之前使其加载灯具?

PS

我的test/test_helper.rb内容是:

ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'test_help'

class ActiveSupport::TestCase
 self.use_transactional_fixtures = true
 self.use_instantiated_fixtures  = false
 fixtures :all
end
Run Code Online (Sandbox Code Playgroud)

(栏杆2.3.4)

Sim*_*tti 5

rake test如果你指定的fixtures :all那样加载灯具.夹具有什么问题吗?

尝试rake db:fixtures:load并检查是否出现任何错误.

另外,我强烈建议跳过固定装置以支持工厂.

  • 这是"RAILS_ENV =测试rake db:fixtures:load",而不是"rake fixtures:load" (2认同)