修改Gemfile
group :development, :test do
#gem 'minitest'
#gem 'mini_backtrace'
gem 'autotest'
gem 'autotest-rails-pure'
gem 'autotest-growl'
gem 'spork', '~> 0.9.0.rc'
gem 'spork-testunit'
end
手动安装spork prelease版本
gem install spork --prerelease
(gem install spork --pre)
安装growl for windows图形界面
在rails目录运行bundle install
然后运行spork --bootstrap添加spork相关启动信息到test/test_helper.rb文件
运行spork启动spork server
因为spork testunit是testdrb -I... test_file这样的格式调用,
所以我们修改autotest库文件
D:\Ruby187\lib\ruby\gems\1.8\gems\ZenTest-4.6.0\lib\autotest.rb
修改make_test_cmd两行,//*为修改行,
因为autotest不支持-n /^test_name$/这样的语法制定某个test_case名,
我们直接去掉,让他跑整个改动后的test_case
def make_test_cmd files_to_test
cmds = []
full, partial = reorder(files_to_test).partition { |k,v| v.empty? }
diff = self.unit_diff
diff = " | #{diff}" if diff and diff !~ /^\|/
ruby_cmd = "#{prefix}testdrb -I#{libs}" //*
unless full.empty? then
classes = full.map {|k,v| k}.flatten.uniq
classes.unshift testlib
classes = classes.join " "
#cmds << "#{ruby_cmd} -e \"%w[#{classes}].each { |f| require f }\"#{diff}"
#cmds << "#{ruby_cmd} #{classes} #{diff}"
cmds << "#{ruby_cmd} #{classes} #{diff}" //*
#cmds << "#{ruby_cmd} -e \"%w[#{classes}].each { |f| eval(\"`testdrb \" + f + \"`\")}\"#{diff}"
end
partial.each do |klass, methods|
regexp = Regexp.union(*methods).source
cmds << "#{ruby_cmd} #{klass} #{diff}" //*
#cmds << "#{ruby_cmd} #{klass} -n \"/^(#{regexp})$/\"#{diff}"
end
cmds.join "#{SEP} "
end
在windows上配置autotest和spork
最新推荐文章于 2024-07-12 16:56:54 发布