未找到spec帮助文件,spec文件夹似乎不在默认路径上

时间:2014-01-20 20:34:05

标签: ruby rspec capybara

我愚蠢地对我的项目进行了一些更改,在那里我安装了一些rails gem(我的项目是非rails),现在当我尝试运行我的测试时,rspec找不到我的spec_helper文件,即使它包含在spec文件夹中。

以前在我的测试中,我在每个测试规范文件的顶部都要求'spec_helper'并且它们工作正常。在我更改之后,使用此方法无法找到规范帮助程序。如果我将测试直接指向spec_helper文件,如下所示:'require ../../spec_helper',他们会找到规范帮助程序并运行测试。然而,这对我来说不是一个好的解决方案,因为我在许多不同的目录和子目录中进行了测试,因此我需要使用各自正确的路径更新所有spec文件。

根据此页面:“https://www.relishapp.com/rspec/rspec-core/docs/configuration/default-path”看来spec文件夹不再是默认路径,因此不在加载路径上,因此找不到规范帮助文件。

有谁知道如何将spec文件夹设置为默认路径?然后根据我的知识将其添加到加载路径中,然后rspec可以找到spec_helper文件。

在这个问题上任何帮助都会很棒!

谢谢!

根据要求提供Rake文件:

require "rake"
require 'timeout'
require 'socket'

def ping addr
require 'rubygems'
require 'net/http'
retval = false
begin
    retval = !Net::HTTP.get(URI(addr)).empty?
rescue
    retval = false
end
retval
end

task :default => [:runTest]

task :startServer do
if(not ping("http://localhost:4444"))
    puts "Starting server"
    SELENIUM_JAR = "../selenium-server/selenium-server-standalone-2.19.0.jar"
    sh "java -jar #{SELENIUM_JAR} 2>&1 > /dev/null &"
    while not ping("http://localhost:4444")
        sleep 3
    end
else
    puts "Server already started"       
end
end

task :stopServer do
if(ping("http://localhost:4444"))
    puts "Shutting Down Server"
    sh "curl http://localhost:4444/selenium-server/driver             /?cmd=shutDownSeleniumServer" 
else 
    puts "Server not started"   
end  
 end

task :runTest, [:cms_security, :ma] do|t, args|
if(not ping("http://test:4444"))
    puts "Server has not bee started"
    Rake::Task['startServer'].execute
end
sh "cucumber ./features"
puts "Done running tests"  
end

0 个答案:

没有答案