在windows上配置autotest和spork

修改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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值