加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Zentest – 如何在红色时停止自动测试

发布时间:2020-12-17 03:13:02 所属栏目:百科 来源:网络整理
导读:我正在尝试配置自动测试,以便当我运行我的测试套件并且我有一个失败的测试时,自动测试停止测试并等待我再次测试之前进行更改.使用我当前的配置,当遇到失败的测试时,自动测试会不断地进行测试,这使得处理时有点麻烦(每次我遇到测试失败时都必须键入终端并停止
我正在尝试配置自动测试,以便当我运行我的测试套件并且我有一个失败的测试时,自动测试停止测试并等待我再次测试之前进行更改.使用我当前的配置,当遇到失败的测试时,自动测试会不断地进行测试,这使得处理时有点麻烦(每次我遇到测试失败时都必须键入终端并停止自动测试服务器).

我正在使用RSpec,Zentest和Spork开发rails应用程序.

相关宝石版本:

autotest (4.4.6)
rspec (2.6.0)
rspec-core (2.6.4)
rspec-expectations (2.6.0)
rspec-mocks (2.6.0)
rspec-rails (2.6.1)
spork (0.9.0.rc8)
ZenTest (4.5.0)

我的.autotest文件:

module Autotest::Notify
  def self.notify title,msg,img,pri='low',time=3000
    `notify-send -i #{img} -u #{pri} -t #{time} '#{msg}'`
  end

  Autotest.add_hook :ran_command do |autotest|
    results = [autotest.results].flatten.join("n")
    output = results.slice(/(d+)s+examples?,s*(d+)s+failures?(,s*(d+)s+pending)?/)
    folder = "~/.autotest_icons/"
    if output  =~ /[1-9]d*sfailures?/
      notify "FAIL:","#{output}",folder+"failed.png",'critical',10000
    elsif output  =~ /[1-9]d*spending?/
      notify "PENDING:",folder+"pending.png",'normal',10000
    else
      notify "PASS:",folder+"passed.png"
    end
  end
end

注意:我的.autotest文件的大部分内容都是让linux中的弹出窗口显示我的测试是通过还是失败.

我一直在寻找这个问题的答案并且没有运气,我发现很难掌握一些关于自动测试的好文档.我一直在为Zentest盯着RDoc一段时间,而且我必须错过一些东西.

任何帮助,示例链接等,将不胜感激.

解决方法

我遇到了同样的问题,发现我的开发服务器正在写入日志文件.将此添加到我的.autotest文件后,问题就消失了:

Autotest.add_hook :initialize do |at|
  at.add_exception(%r{^./.git})
  at.add_exception(%r{^./log})
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读