我发现自动测试已停止工作......
$ autotest
loading autotest/rails
Autotest style autotest/rails doesn't seem to exist. Aborting.
Run Code Online (Sandbox Code Playgroud)
根据这篇博文,这个错误的常见原因是人们没有安装autotest-rails gem.但是,我肯定安装了:
autotest-rails (4.1.0)
ZenTest (4.1.4, 4.1.3, 4.1.1, 4.0.0, 3.11.1, 3.11.0, 3.10.0, 3.9.3, 3.9.2)
Run Code Online (Sandbox Code Playgroud)
我今天或昨天没有安装任何新的宝石,虽然我可能gem update昨天做了.
我看到的另一个问题是与Ruby 1.9不兼容,但我使用的是MRI Ruby 1.8.6.
当我尝试安装ZenTest时:
gem install ZenTest
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/specifications/ZenTest-4.8.4.gemspec]中的gemspec无效:格式错误的要求["<2.1,> = 1.8"]
我试图清理宝石并删除ZenTest无济于事.
怎么了?
我刚刚安装了Zentest 4.4.6,其中包括autotest 4.4.6,当我运行自动测试时,我收到以下错误:
gems/ZenTest-4.6.0/lib/autotest.rb:226:in `autodiscover': undefined method `any?' for Gem::Specification:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
是吧?就像它没有铁轨就恢复了红宝石
我安装了autotest gem并打算将它与rspec一起使用.问题是,当我在我的rails应用程序下运行自动测试时,我看到的只有:
railsapp $ autospec
加载autotest/rails_rspec
它卡在那里直到我从Ctrl-C出来.即使我更改了rspec测试或代码,也没有任何变化.
这是我的〜/ .autotest
要求"自动测试/重启"
需要'redgreen/autotest'
要求'自动测试/ fsevent'
要求"自动测试/咆哮"
我正在尝试配置自动测试,以便当我运行我的测试套件并且我有一个失败的测试时,自动测试停止测试并等待我再次测试之前进行更改.使用我当前的配置,当遇到失败的测试时,自动测试会不断地进行测试,这使得处理时有点麻烦(每次我遇到测试失败时都必须键入终端并停止自动测试服务器).
我正在使用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)
Run Code Online (Sandbox Code Playgroud)
我的.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:", "#{output}", folder+"pending.png", 'normal', 10000
else
notify "PASS:", "#{output}", folder+"passed.png"
end
end
end
Run Code Online (Sandbox Code Playgroud)
注意:我的.autotest文件的大部分内容都是让linux中的弹出窗口显示我的测试是通过还是失败. …
我在自动测试中遇到过问题,之前我通过将ZenTest 4.1.4降级到4.1.3来解决问题.
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
$ rails -v
Rails 2.3.4
Run Code Online (Sandbox Code Playgroud)
目前我发现在我的Mac OS 10.6.1 Snow Leopard系统上,当我$ autotest在我的项目中运行时,没有运行任何测试,我得到了这个输出......
$ autotest
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I.:lib:test -rubygems -e "%w[test/unit test/test_helper.rb].each { |f| require f }" | unit_diff -u
Loaded suite -e
Started
Finished in 0.000225 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
Run Code Online (Sandbox Code Playgroud)
试试control-C......
^CInterrupt a second time to quit
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I.:lib:test -rubygems -e "%w[test/unit test/test_helper.rb].each { |f| require f }" …Run Code Online (Sandbox Code Playgroud) 我之前已将ZenTest添加到我的gemfile中以运行自动测试.在这种情况下,我得到以下错误四次:
saasbook@saasbook:~/Documents/github/LocalSupport$ bundle exec autotest
Invalid gemspec in [/usr/local/lib/ruby/gems/1.9.1/specifications/ZenTest-4.9.0.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Run Code Online (Sandbox Code Playgroud)
我搜索了这个错误,并在ZenTest的github repo中找到了一些讨论:
https://github.com/seattlerb/zentest/issues/29 https://github.com/seattlerb/zentest/issues/32 https://github.com/seattlerb/zentest/issues/33
我已经遵循了一些建议,卸载并重新安装了ZenTest,但没有任何乐趣.我在ubuntu上运行ruby 1.9.2p290(2011-07-09修订版32553)[i686-linux]
我的整个应用程序都在这里:
https://github.com/tansaku/LocalSupport
所以例如你可以看看我的GemFile:
https://github.com/tansaku/LocalSupport/blob/master/Gemfile
有任何想法吗?
提前谢谢了
我在阅读ZenTest源代码时遇到了这个问题:
以下是add_mapping方法的定义:
def add_mapping(regexp, &proc)
@test_mappings << [regexp, proc]
end
Run Code Online (Sandbox Code Playgroud)
在Autottest.initailize(),add_method被调用为实现添加映射.
self.add_mapping(/^lib\/.*\.rb$/) do |filename, _|
possible = File.basename(filename).gsub '_', '_?'
files_matching %r%^test/.*#{possible}$%
end
Run Code Online (Sandbox Code Playgroud)
我的问题是块的第二个参数"_"是什么意思?似乎它没有在块中使用.
谢谢
尝试运行ZenTest时,我不断收到此错误
Invalid gemspec in [/usr/local/rvm/gems/ruby-1.9.3-p194/specifications/ZenTest-4.9.3.gemspec]: Illformed requirement ["< 2.1, >= 1.8"].
Run Code Online (Sandbox Code Playgroud)
我已经尝试删除ZenTest 4.9.3和gem安装ZenTest 4.8.3,但该版本无法在任何存储库中找到,因此它会自动安装ZenTest 4.9.3,这会导致错误,因此我无法运行spork或autotest.有没有办法解决?谢谢!
这是我的gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.11'
gem 'spork'
gem 'rspec-core'
gem 'autotest', '4.4.6'
gem 'autotest-rails', '4.1.2'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
gem 'webrat'
gem 'capybara'
gem 'Zentest', '4.8.3'
end
group :production do
gem 'pg'
end
# Gems used only for assets and not required
# in production environments by default.
group …Run Code Online (Sandbox Code Playgroud) ruby-on-rails zentest spork railstutorial.org ruby-on-rails-3.2