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 我要报告黄瓜名单,让他们知道他们应该添加到内置的自动测试例外. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |