从ruby代码运行RSpec文件
我试图直接从ruby代码运行RSpec测试。更具体地说,我正在运行一些mysql脚本,加载rails测试环境,然后我想运行我的rspec测试(这就是我遇到的问题)。。。我正试图用耙子任务来完成这个任务。以下是我目前的代码:从ruby代码运行RSpec文件,ruby,rspec,Ruby,Rspec,我试图直接从ruby代码运行RSpec测试。更具体地说,我正在运行一些mysql脚本,加载rails测试环境,然后我想运行我的rspec测试(这就是我遇到的问题)。。。我正试图用耙子任务来完成这个任务。以下是我目前的代码: require "spec/autorun" require"spec" require "spec/rake/spectask" RAILS_ENV = 'test' namespace :run_all_tests do desc "Run all of your
require "spec/autorun"
require"spec"
require "spec/rake/spectask"
RAILS_ENV = 'test'
namespace :run_all_tests do
desc "Run all of your tests"
puts "Reseting test database..."
system "mysql --user=root --password=dev < C:\\Brian\\Work\\Personal\\BrianSite\\database\\BrianSite_test_CreateScript.sql"
puts "Filling database tables with test data..."
system "mysql --user=root --password=dev < C:\\Brian\\Work\\Personal\\BrianSite\\database\\Fill_Test_Tables.sql"
puts "Starting rails test environment..."
task :run => :environment do
puts "RAILS_ENV is #{RAILS_ENV}"
# Run rspec test files here...
require "spec/models/blog_spec.rb"
end
end
要求“规范/自动运行”
需要“规格”
需要“spec/rake/spectask”
RAILS_ENV='test'
名称空间:运行所有测试
desc“运行所有测试”
将“重置测试数据库…”
系统“mysql--user=root--password=dev:环境执行
放置“RAILS_ENV是#{RAILS_ENV}”
#在此处运行rspec测试文件。。。
需要“规格/型号/博客规格rb”
结束
结束
我以为require“spec/models/blog_spec.rb”就可以了,但是测试没有运行。有人知道我哪里出错了吗
更新:我在文件顶部添加了require“spec/autorun”命令,现在我在执行rake运行时遇到了这个错误\u所有\u测试:运行:
C:/Ruby/lib/Ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options.rb:283:infi
les_to_load':未找到文件或目录:运行所有测试:运行(运行时错误)
来自C:/Ruby/lib/Ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options。
rb:275:in
每个'
来自C:/Ruby/lib/Ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options。
rb:275:在文件中
来自C:/Ruby/lib/Ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options。
rb:133:in
run\u示例'
来自C:/Ruby/lib/Ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner.rb:61:in
run'
来自C:/Ruby/lib/Ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner.rb:45:in
autorun'
来自C:/Ruby/bin/rake:19
当它到达require“spec/models/blog_spec.rb”行时,就会遇到这个错误。这个文件确实存在,因为当我尝试更改require语句时,我只得到一个file not found错误。看起来rspec现在正在尝试运行测试,但遇到了问题。。。有什么想法吗
谢谢您的帮助。尝试将require“spec/autorun
添加到文件顶部
不过,您不需要这样做,因为有内置的Rake任务(这就是
spec/Rake/spectask
所包含的)来完成您正在做的事情:每当我使用rspec库执行rb脚本时,我都会在文件名之前添加“rspec”
rspec mycode.rb
我尝试添加require“spec/autorun”,但是现在我遇到了一个错误。我已经用我遇到的错误更新了我的问题。谢谢你的帮助。