我想直接從ruby代碼運行RSpec測試。更具體地說,我正在運行一些mysql腳本,加載rails測試環境,然後我想運行我的rspec測試(這是我遇到的麻煩)......我試圖用rake任務。這是我到目前爲止的代碼:從紅寶石代碼運行RSpec文件
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
我認爲需要「規格/型號/ blog_spec.rb」會做,但測試沒有運行。任何人都知道我要去哪裏錯了?
更新:我已經添加在該文件的頂部的規定「規範/自動運行」命令,現在我遇到了這個錯誤,當我做了耙RUN_ALL_TESTS:運行:
C:/紅寶石/ lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options.rb:283:在fi les_to_load': File or directory not found: run_all_tests:run (RuntimeError) from C:/Ruby/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options. rb:275:in
每個' from C:/Ruby/lib/ruby/gems/1.8/gems/rspec -1.3.0/lib目錄/規格/跑步/選項。 RB:275:在files_to_load' from C:/Ruby/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options. rb:133:in
run_examples' 從C:/Ruby/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner.rb:61:在 run' from C:/Ruby/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner.rb:45:in
自動運行」 選自C :/ Ruby/bin/rake:19
它在達到require「spec/models/blog_spec.rb」行時發生此錯誤。這個文件確實存在,因爲當我嘗試更改require語句時,我只是收到文件未找到錯誤。看起來rspec正在嘗試運行測試,但遇到問題......任何想法?
感謝您的任何幫助。
我嘗試添加了要求「規範/自動運行」,但現在我 出錯。我更新了我收到的錯誤的問題。謝謝您的幫助。 – 2010-05-13 18:50:20