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

ruby-on-rails – 如何解决自动测试无限循环问题?

发布时间:2020-12-16 19:53:19 所属栏目:百科 来源:网络整理
导读:我使用黄瓜,rails3,rspec2和自动测试.我试图找出为什么我的功能是无限循环.我怀疑在测试期间有些文件被更改,但我不确定哪一个.我添加了一些例外,我的.autotest没有骰子. 我可以采取哪些步骤来解决这个问题? 如果我可以看到什么文件触发重新运行,或在运行时,
我使用黄瓜,rails3,rspec2和自动测试.我试图找出为什么我的功能是无限循环.我怀疑在测试期间有些文件被更改,但我不确定哪一个.我添加了一些例外,我的.autotest没有骰子.

我可以采取哪些步骤来解决这个问题?

如果我可以看到什么文件触发重新运行,或在运行时,什么文件被观看/未观看,那将是很酷的.

这是我的.autotest内容

require 'autotest/growl'

Autotest::Growl::clear_terminal = false

# Skip some paths
Autotest.add_hook :initialize do |autotest|
    %w{.git .DS_store db log tmp rerun.txt}.each { |e| autotest.add_exception(e) }
end

解决方法

好的,所以我想出来了.我进入自动测试的来源,以更好地了解发生了什么.它在所有异常中创建一个RegexPunion,并忽略相对路径与编译表达式匹配的文件.

为了更好地了解这个错误,我将项目目录中的所有内容都添加到.autotest中,除了./app,./lib,./public,./script,./spec和./features之外.这样的事情

# .autotest - to troubleshoot
Autotest.add_hook :initialize do |at|
  at.add_exception(%r{^./.git})
  ...
  at.add_exception(%r{^./db})
  ...
  at.add_exception(%r{^./rerun.txt})
  ...
end

当我这样做,我没有得到一个无限循环.之后,我刚刚开始评论每个例外.原来,我不得不手动忽略的唯一的文件是Gemfile.lock.由于某种原因,这或许被改变或使自动测试混淆到使黄瓜循环的程度.

因此,这个.autotest解决了这个问题:

# .autotest - to fix
Autotest.add_hook :initialize do |at|
  # Gemfile.lock is causing cucumber to run infinitely. Don't watch it.
  at.add_exception(%r{^./Gemfile.lock})
end

我要报告黄瓜名单,让他们知道他们应该添加到内置的自动测试例外.

(编辑:李大同)

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

    推荐文章
      热点阅读