2015-09-28 66 views
0

试图在linux计算机上运行rspec spec/controllers/api_controller_spec.rb:406 --color命令。我们已经Redis的服务器运行在端口6379但如下错误无法加载rspec的spec_helper配置&收到错误:无法加载rspec配置

代码:

REDIS_PID = "/var/run/redis.pid" 
    REDIS_CACHE_PATH = "tmp/cache/" 

    Dir.mkdir "#{Rails.root}/tmp" unless Dir.exists? "#{Rails.root}/tmp" 
    Dir.mkdir "#{Rails.root}/tmp/pids" unless Dir.exists? "#{Rails.root}/tmp/pids" 
    Dir.mkdir "#{Rails.root}/tmp/cache" unless Dir.exists? "#{Rails.root}/tmp/cache" 

    config.before(:suite) do 
    redis_options = { 
     "daemonize"  => 'yes', 
     "pidfile"  => 7528, 
     "port"   => 6379, 
     "timeout"  => 300, 
     "save 900"  => 1, 
     "save 300"  => 1, 
     "save 60"  => 10000, 
     "dbfilename" => "dump.rdb", 
     "dir"   => REDIS_CACHE_PATH, 
     "loglevel"  => "debug", 
     "logfile"  => "stdout", 
     "databases"  => 16 
    }.map { |k, v| "#{k} #{v}" }.join("\n") 
    `echo '#{redis_options}' | redis-server -` 
    end 

    config.after(:suite) do 
    %x{ 
     cat #{REDIS_PID} | xargs kill -QUIT 
     rm -f #{REDIS_CACHE_PATH}dump.rdb 
    } 
    end 

错误:

------------ 
------------ 
------------ 

Finished searching in 0.09762763977050781 seconds. 
Request#<ActionController::TestRequest:0x00000004139f58> 
^[[?1;2c^[[?1;2c^[[?1;2c^[[?1;2c^[[?1;2c^[[?1;2cFcat: /var/run/redis.pid: No such file or directory 
usage: kill [ -s signal | -p ] [ -a ] pid ... 
     kill -l [ signal ] 
------------ 
------------ 
------------ 
+0

'/ var/run/redis.pid'确实存在吗?对于rspec运行,您是否可以更好地嘲笑Redis进行更安全的测试? – glenatron

+0

请找到下面的答案。 –

回答

0

重新启动redis服务器redis-server stop/start。生成的redis.pid文件和​​rspec能够在后台处理期间访问redis配置。

相关问题