通过 Google 进行多次搜索后,我准备好从社区中获取一些意见。我正在尝试申请旧金山的 App Academy,所需的准备工作之一是 TestFirst 的 Learn_ruby。我最初是在我的 Windows 机器上的 Linux VM 上配置的。它运作良好。当我运行 rake 时,它会一次列出一个问题;文字是有用的颜色;输出非常精简,所以我只得到了我需要阅读的内容。我最近删除并将我的系统配置为双启动 Xubuntu 14.04/Windows,我曾经拥有的 VM 早已不复存在。我努力在我的 linux 虚拟机中设置 Ruby,就像我在虚拟机中所做的那样。
我现在的问题是当我运行 rake
时在我的项目中,我收到了相同的折旧警告:
Deprecation Warnings:
Using
should
from rspec-expectations' old:should
syntax without explicitly enabling the syntax is deprecated. Use the new:expect
syntax or explicitly enable:should
instead. Called from /home/kaji/Projects/learn_ruby/05_silly_blocks/silly_blocks_spec.rb:25:in `block (3 levels) in '.
在谷歌上来回搜索之后,我基本上明白错误告诉我的是什么。我什至找到了让它消失的解决方案。感谢这篇文章:RSpec's New Expectation Syntax ,我能够找到一种语法来使警告消失。 (基本上必须在 blah.should == #
文件中将 expect(blah()).to eq(#)
更改为 *_spec.rb
。这似乎让警告变得愉快。但是我仍然看到我有另一个问题的迹象。
输出不像我在虚拟机上时那样“友好”。它不是彩色的;它一次转储所有错误。我最喜欢 learn_ruby 的地方在于它一次给了我一个目标,而且输出最少。现在我必须向上滚动很多方式才能看到我的问题是什么。
我厌倦了完全删除 RVM 和所有 gem,然后重新安装以查看是否可以解决此问题。没有骰子。我就是这样一个 Ruby Noobie,我对这一切有点不知所措。我想重新开始学习基础知识,但这已经困扰我一个多星期了。有没有人有这个问题/修复除了
我也试过删除 rpsec ~<=2.0
来自 Rakefile。我正在使用 ruby -v 2.1.2
,rails 4.1.1,我有 RSpec 3.0.0、2.99.0、2.0.0。我什至试图找到一个关于更改语法的教程,但它真的很令人困惑,因为它引入了很多我不知道的 Ruby 概念。在那一点上,我觉得我已经超出了我的头脑并且我缺少一些简单的东西。
希望我提供了足够的信息以获得帮助。
最佳答案
我希望我回答的是正确的问题,因为您似乎已经弄清楚了标题中的问题(即首选语法已从 blah.should
更改为 expect(blah ).to
).如果您更改标题以反射(reflect)实际问题,将会有所帮助。
RSpec.configure do |config|
config.fail_fast = true
config.color_enabled = true
}
将使 RSpec 在第一个错误时失败,而不是在运行所有测试之后为该文件启用颜色。
或者您可以使用 rspec --fail-fast --color
运行 rspec。
或者,您可以将它放在 $HOME/.rspec
中,这样它总是会这样做:
--fail-fast
--color
关于ruby - TestFirst.org Learn Ruby rake 和弃用警告 :should and :expect syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174812/