如何在Ruby中使用RSpec获取Windows命令提示符?

时间:2009-11-14 05:12:57

标签: ruby-on-rails windows ruby rspec command-prompt

在其他o / s中,RSpec返回颜色很好的结果(红色,绿色等)。

然而,在Windows(Vista)命令提示符下,我的文本输出只是普通的无聊白色。

如何为我的RSpec测试结果带来颜色?

由于

演变

8 个答案:

答案 0 :(得分:8)

更新: Win32Console不再适用于rspec。 ANSICON推荐。 https://github.com/rspec/rspec-rails/issues/487#issuecomment-3556806

答案 1 :(得分:7)

我必须安装ansicon,现在一切都很好。 (即使在我的Aptana终端)。

安装ansicon说明:  http://qastuffs.blogspot.com/2011/02/how-to-install-ansicon-for-cucumber-to.html

答案 2 :(得分:4)

您是否在rake rspec任务的spec_opts中指定了“--color”? 像这样......

  Spec::Rake::SpecTask.new(:your_task_name) do |t|
    t.spec_opts = ["--color"]
    t.spec_files = [] # List of spec files
  end

答案 3 :(得分:3)

您需要安装win32console gem。顺便说一句:您使用的是哪个版本的RSpec?我曾经使用的RSpec的每个版本,实际打印出来

You must 'gem install win32console' to use colour on Windows

当您尝试着色输出时。

答案 4 :(得分:1)

我在Windows XP中运行,我相信它是一个NT系统。 ANSICON声称不支持此功能。是的,它不适用于cmd。但是如果你把文件放在system32文件夹中,只需从任何地方运行ansicon.exe。 对于rspec,不推荐使用Win32Console,但如果要从命令行输出颜色,仍可以将它用于您编写的其他程序。看看宝石中的自述文件。 我把ansicon放在我的开始>运行>打开文本框中。它运作得很好。

答案 5 :(得分:1)

在Windows上使用Git提供的MINGW64 bash shell时,rspec会显示任何颜色。尽管此shell环境完全能够显示ANSI颜色,但rspec无法将其检测为TTY。一个超级简单的解决方法是使用:

$ rspec --force-color

例如,以这个无聊的旧单色为例: :Boring old monochrome

使用一个简单的命令行参数使其满意: Wow, it's beautiful full color!

答案 6 :(得分:0)

我有这个问题。我一直无法让ansicon工作,因为它从cmd运行时崩溃了。

要修复我将 Win32console gem添加到我的 gem文件,然后运行bundle update。

**作为更新:将gem放在gemfile的测试组中:

    group :test do
      gem 'rails-controller-testing', '1.0.2'
      gem 'minitest-reporters',       '1.1.14'
      gem 'guard',                    '2.13.0'
      gem 'guard-minitest',           '2.4.4'
      gem 'win32console'
    end

这可以防止推送到heroku时出错

干杯!

答案 7 :(得分:-2)

最好的方法是在应用的根文件夹中创建一个文件名.rspec,并在其中包含以下单行代码:

--colour

完成并且灰尘