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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何解决自动测试无限循环问题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用黄瓜,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

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

原文链接:https://www.f2er.com/ruby/272155.html

猜你在找的Ruby相关文章